2010-05-07 26 views
5

Làm cách nào để bạn xác định thời gian chạy cho dù trình gỡ lỗi studio trực quan có được đính kèm với quy trình của bạn hay không. Tôi đã nhìn thấy hướng dẫn để làm thế nào để làm điều này trong. NET, nhưng quá trình của tôi là một quá trình C++ bản địa. Hỗ trợ phát hiện Gỡ lỗi kịp thời sẽ tốt đẹp nhưng không yêu cầu nghiêm ngặt.Làm thế nào để xác định thời gian chạy khi ứng dụng C++ của bạn có trình gỡ lỗi studio trực quan được đính kèm?

+0

Bạn có yêu cầu một cách để phát hiện xem trình gỡ rối có được đính kèm trong quá trình trình gỡ lỗi được đính kèm hoặc từ một quy trình bên ngoài khác không? – tloach

+0

từ bên trong quá trình trình gỡ rối được đính kèm. IsDebuggerPresent hoạt động như được đề xuất bên dưới. –

+0

có thể trùng lặp của http://stackoverflow.com/questions/101806/check-if-application-was-started-from-within-visual-studio – Suma

Trả lời

13

Cuộc gọi Win32 IsDebuggerPresent() có vẻ như nó phải hoạt động.

+0

Cảm ơn. Đó chính xác là những gì tôi cần. –

+0

Tôi đã sử dụng cách tiếp cận này nhưng sau đó thấy blog trong liên kết sau đây, nơi ông tuyên bố ông đã tắt IsDebuggerPresent thông qua một tập lệnh, vì vậy phương pháp này có thể có vấn đề: https://blogs.msdn.microsoft.com/debuggingtoolbox/2007/05/ 23/windbg-script-disable-isdebuggerpresent/ – TBD

4

Sử dụng IsDebuggerPresent

+0

+1 cho câu trả lời đúng, ngay cả khi 2 phút sau câu trả lời của thư giãn. Nhờ bạn cũng vậy. –

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