在所有搜索中,我没有遇到任何可以让我预先填充监视窗口以供调试时使用的技巧,插件或设置。
在 Visual Studio 2017 中观看变量的众所周知的步骤是设置一个断点(可能在变量的第一个实例中被赋值),然后将变量添加到观看窗口。在随后的运行中,该监视变量应保留在监视窗口中。
是否有一种方法可以在调试会话之前完成对监视窗口的预填充?我有按时间顺序运行的代码。在执行中断期间花费较长的时间来暂停并设置监视,将导致程序崩溃。在设置变量监视对象时,此类超时崩溃会导致与调试器的交互变得困难。预先填充监视列表将有很大帮助。
我知道我可以使用诸如使用Debug.Print(...)
语句之类的技术,这些语句在代码执行期间会打印到输出窗口中。但是,这不允许我从监视窗口中获得对调试工作的控制和视觉反馈。
答案 0 :(得分:0)
仅当您在调试器中暂停时(例如在断点上),才能评估手表。在正常执行期间无法评估它们。您可以避免这种局限性:
Debug.Print(...)
或类似于输出值的代码的内容。Output
窗口中。与添加自己的日志记录相比,TracePoints的优势在于您可以在不构建代码的情况下将其关闭和打开。有关更多信息,请访问:https://docs.microsoft.com/en-us/visualstudio/debugger/using-breakpoints?view=vs-2019#BKMK_Print_to_the_Output_window_with_tracepoints Diagnostic Tools
窗口选择每个快照,然后将其激活。对于每个快照,您可以像停止应用程序一样使用调试器。因此,您可以使用手表进行检查等。当然,您不能因为该应用已经运行而无法前进,但可以转到下一个快照等。有关更多信息,请访问:https://docs.microsoft.com/en-us/visualstudio/debugger/view-snapshots-with-intellitrace?view=vs-2019和https://devblogs.microsoft.com/visualstudio/step-back-while-debugging-with-intellitrace/ 答案 1 :(得分:0)
在运行之前如何在监视窗口中配置监视变量 VS2017中进行调试会话?
恐怕答案是否定的。目前,“监视”窗口只能在调试会话启动后进行配置,就像运行时窗口仅在调试期间发生一样。
因此,我们暂时无法在调试会话之前预先填充它。换句话说,这是设计使然。
作为替代方法,您可以按照Andy的详细建议进行操作。
由于在某些特定的调试情况下您的需求是有意义的,因此您也可以像用户声音一样在development community上发布建议,以添加新功能。