c++ visual-studio debugging visual-c++ visual-studio-2012

c++ - ¿Ha cambiado el formato de la entrada de registro VS2012 NativeDE / StepOver que impide el paso a las funciones específicas?



visual-studio debugging (2)

Finalmente encontré una "solución":

Agregue un nuevo .natstepfilter a C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Common7 / Packages / Debugger / Visualizers

<?xml version="1.0" encoding="utf-8"?> <StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010"> <Function><Name>boost::.*</Name><Action>NoStepInto</Action></Function> <Function><Name>std::.*</Name><Action>NoStepInto</Action></Function> </StepFilter>

No estoy seguro de que el formato "boost ::. *" Sea correcto en este ejemplo específico, pero debería ser esto o algo similar. Puede ver los otros archivos .natstepfilter en la carpeta para obtener más pistas.

Desafortunadamente, según una publicación que encontré, hacer esto no funciona cuando se depuran aplicaciones en modo mixto (por ejemplo, C ++ / C #), que es lo que estoy haciendo. Dejaré esta pregunta para otras personas que intenten descubrir cómo implementar esta funcionalidad y para cualquiera que conozca una manera de hacerlo en modo mixto.

Me he encontrado con varias publicaciones / blogs que muestran cómo deshabilitar el acceso a funciones específicas y / o espacios de nombres (por ejemplo, las bibliotecas de impulso) usando entradas de registro.

Cuando traté de hacer esto con VS2012, no obtuve los resultados esperados.

Lo intenté...

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/11.0_Config/NativeDE/StepOver] "10"="std/:/:.*" "20"="boost/:/:.*"

¿Ha cambiado el formato? ¿Tengo la entrada de registro correcta?


Como una adición a la respuesta anterior (lamentablemente no puedo comentar aún), ya hay un archivo llamado default.natstepfilter en ese directorio, puede simplemente agregar las dos líneas allí (antes de </StepFilter> ).

Es posible que deba hacer clic con el botón derecho en default.natstepfilter y vaya a Properties y desmarque Read-Only para cambiar este archivo. Necesitará derechos de administrador para esto.

Ejemplo :

<?xml version="1.0" encoding="utf-8"?> <StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010"> <Function><Name>std::.*</Name><Action>NoStepInto</Action></Function> <Function><Name>__security_check_cookie</Name><Action>NoStepInto</Action></Function> <Function><Name>__abi_winrt_.*</Name><Action>NoStepInto</Action></Function> ... </StepFilter>