Visual Studio puede imprimir la pila de llamadas cuando golpea el punto de interrupción y puede detenerse cuando se cumplen las condiciones. ¿Hay alguna manera de combinar eso y parar cuando se llama a la función desde otra seleccionada, e ignorar todo otras llamadas?Visual Studio breakpoint condicional en el estado de pila
Respuesta
creo la única forma de hacerlo es con una macro. Haga clic derecho en el punto de interrupción, elegir la opción "Cuando Hit ..", seleccione "Ejecutar una macro", y el punto a una macro que dice algo como:
Sub ContinueUnlessCalledFromRightContext()
For Each frame As EnvDTE.StackFrame In DTE.Debugger.CurrentThread.StackFrames
If (frame.FunctionName.Contains("SomeOtherMethodsName") Then Exit Function
Next
DTE.Debugger.Go() ` we weren't called from the right context so continue execution.
End Sub
El código anterior es la mitad pseudo; En realidad, no lo probé, pero debería funcionar con algunas ediciones menores.
Tenga en cuenta que esto será lento como el infierno si el punto de interrupción se golpea muchas veces, porque ejecutar macros desde puntos de interrupción es inherentemente muy lento.
Por cierto, si usted preguntaba sobre .NET/C# que hubiera sido mucho más simple, que podría acaba de hacer un punto de interrupción condicionada a
new System.Diagnostics.StackTrace().ToString().Contains("SomeOtherMethodsName")
... y hacerse con él.
No es seguro, pero que podría ser capaz de, ya sea con o filtrado de condiciones, aunque podría ser más fácil simplemente poner el punto de interrupción en el proceso de llamada en lugar
Este es un buen recurso: Mastering Debugging in Visual Studio 2010 - A Beginner's Guide
establecer el punto de interrupción en la persona que llama no es conveniente en mi caso, tendré que establecer varios puntos de interrupción, y también quiero condicionarme en más de un nivel de pila. – Vasaka
- 1. Visual Studio Breakpoint Bar no presente
- 2. Visual Studio Breakpoint Macro para modificar un valor?
- 3. punto de interrupción condicional en Visual Studio
- 4. Nuevo Data Breakpoint deshabilitado en el proyecto mixto Visual Studio 2008
- 5. Visual Studio: excluir el delineado de la pila deshacer/rehacer
- 6. Incrustación condicional de un recurso en Visual Studio (C#)
- 7. Proyecto de instalación de Visual Studio condicional si existe archivo
- 8. C# - Visual Studio 2008 capaz de compilación condicional?
- 9. guardando el estado del programa (visual studio 2008)
- 10. Falta la barra de estado en Visual Studio?
- 11. Determinación del espacio de pila con Visual Studio
- 12. Visual Studio 2008 - Barra de estado ¿Glosario de iconos?
- 13. Pregunta sobre cómo quitar un estudio Breakpoint Visual
- 14. Visual Studio: mejor indicación del estado de compilación
- 15. ¿Por qué Visual Studio no puede establecer un punto de interrupción condicional en esta propiedad simple de C#?
- 16. Cómo agregar un punto de interrupción condicional en Visual C++
- 17. ¿Cuál es el propósito de la ventana Pila de llamadas en Visual Studio?
- 18. ¿Cómo puedo encontrar el seguimiento de la pila en Visual Studio?
- 19. ¿Cómo puedo navegar por la pila de llamadas en Visual Studio usando solo el teclado?
- 20. Firebug programmatic breakpoint?
- 21. Usando windbg de Visual Studio
- 22. Visual Studio puntos de ruptura que se mueve
- 23. save visual studio state
- 24. El estado de enlace de control de fuente no es válido: Visual Studio 2005 y VSS
- 25. LINQPad en Visual Studio
- 26. Visual Studio 2012 en comparación con Visual Studio 2010 (delta)
- 27. Depuración de un minidump en Visual Studio, donde la pila de llamadas es nulo
- 28. C en Visual Studio
- 29. Boo en Visual Studio?
- 30. #warning en Visual Studio
Nota del futuro: [las macros no existen en las versiones actuales de Visual Studio] (https://social.msdn.microsoft.com/Forums/vstudio/en-US/d8410838-085b-4647-8c42-e31b669c9f11/macros -in-visual-studio-11-developer-preview? forum = vsx). Estoy abierto a cualquier sugerencia para hacer lo que OP pidió en VS2013 y posterior. –