我现在正在调试一个使用许多不同线程的程序。
有时会抛出异常。问题是无法知道哪个线程导致了问题......
有没有一种简单的方法可以在抛出异常后获取堆栈跟踪?
我想过简单地编写一条调试消息,但这将是一个巨大的:-)我想有比这个更好的技术......
我正在使用 Visual Studio 2008 - 本机 C++ 项目......
除非我弄错了,否则您需要知道哪个线程触发了异常,才能使用 Visual Studio 调试器的调用堆栈视图,这显然是您目前所处的 catch-22 情况。
我要尝试的一件事是看看是否可以让调试器在引发异常时中断(使用“调试”>“异常”)。您必须显式启用此功能,但如果您知道引发的异常类型,这可能允许您找出引发异常的位置。
除此之外,在异常的构造函数中放置一个断点(如果它是您自己的构造函数)还应该允许您找出它是从哪里触发的。
如果这些方法对您不起作用,我会按照您的建议查看调试消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)