2010-05-07 6 views
5

¿Cómo se determina en tiempo de ejecución si el depurador de Visual Studio está conectado a su proceso? He visto instrucciones sobre cómo hacer esto en .NET, pero mi proceso es un proceso nativo de C++. El soporte para detectar la depuración Just-in-time sería agradable, pero no un requisito estricto.¿Cómo determinar en tiempo de ejecución cuando su aplicación C++ tiene adjunto el depurador de Visual Studio?

+0

¿Usted está pidiendo una manera de detectar si el depurador asociado desde dentro el proceso depurador está unido a, o desde un proceso fuera diferente? – tloach

+0

desde dentro del proceso al que está conectado el depurador. IsDebuggerPresent funcionó como se sugiere a continuación. –

+0

posible duplicado de http://stackoverflow.com/questions/101806/check-if-application-was-started-from-within-visual-studio – Suma

Respuesta

13

La llamada de Win32 IsDebuggerPresent() suena como debería funcionar.

+0

Gracias. Eso es exactamente lo que necesitaba. –

+0

Utilicé este enfoque, pero luego vi el blog en el siguiente enlace donde afirma que desintegró IsDebuggerPresent a través de un script, por lo que este enfoque puede ser problemático: https://blogs.msdn.microsoft.com/debuggingtoolbox/2007/05/ 23/windbg-script-disable-isdebuggerpresent/ – TBD

4
+0

+1 por ser la respuesta correcta, incluso si 2 minutos más tarde que la respuesta de desenrollar. Gracias a ti también. –

Cuestiones relacionadas