2013-04-13 30 views
6

Điều tôi đang cố gắng làm là theo dõi các thay đổi giá trị bộ nhớ tại một số địa chỉ cụ thể, như ràng buộc một hàm gọi lại thành sự kiện 'onChange'.Làm thế nào để thiết lập breakpoints lập trình trong Visual C++?

Một ý tưởng cho bây giờ mà tôi có thể nghĩ ra là sử dụng điểm dừng ghi bộ nhớ. Vậy làm thế nào để thao tác các điểm ngắt theo lập trình trong Visual C++?

+0

Bạn muốn đặt điểm ngắt tại thời gian chạy? - Tại sao bạn không sử dụng các điểm ngắt có điều kiện? – deepmax

+0

@MM. Tôi muốn làm điều này trong mã của tôi, không phải trong trình gỡ lỗi –

+0

http://stackoverflow.com/a/1261763/1762344, http://stackoverflow.com/a/8008943/1762344 –

Trả lời

4

Nếu bạn cần phải đột nhập vào trình gỡ lỗi, sử dụng DebugBreak chức năng, nếu cần thiết dưới một khối #ifdef _DEBUG#endif

+1

Điều này thường hữu ích, nhưng KHÔNG điểm ngắt dữ liệu. –

+1

Ngoài ra '_DEBUG' không liên quan. Điều đúng là sử dụng 'IsDebuggerPresent' – ZAB

0

bạn cũng có thể đặt trong mã của bạn:

__asm ​​{int 3}

Nếu bạn đang chạy dưới VS trình gỡ rối, sẽ gọi trình xử lý điểm ngắt.

UPDATE: Trên thực tế nó là như nhau vì sử dụng __debugbreak instrinsic MSVC (http://msdn.microsoft.com/en-us/library/f408b4et.aspx)

+1

Điều này thường hữu ích, nhưng KHÔNG phải là điểm ngắt dữ liệu. –

Các vấn đề liên quan