当前位置:  开发笔记 > 编程语言 > 正文

抛出异常时获取堆栈跟踪

如何解决《抛出异常时获取堆栈跟踪》经验,为你挑选了1个好方法。

我现在正在调试一个利用许多不同线程的程序.

有一个例外是不时抛出的.问题是没有办法知道什么线程导致了问题...

有没有人知道抛出异常后获得堆栈跟踪的简单方法?我想过简单地写一个调试消息,但它会是一个巨大的:-)我想有比这更好的技术......

我正在使用visual studio 2008 - 原生c ++项目....



1> Timo Geusch..:

除非我非常错误,否则您需要知道哪个线程触发了异常才能使用Visual Studio调试器的调用堆栈视图,这显然是您目前所处的catch-22情况.

我要尝试的一件事是看看是否可以在抛出异常时使调试器中断(使用Debug> Exceptions).您必须明确启用它,但如果您知道抛出了什么类型的异常,这可能允许您计算抛出的位置.

除此之外,在异常的构造函数中放置一个断点(如果它是你自己的一个)也应该允许你找出触发它的位置.

如果这些方法不适合您,我会按照您的建议查看调试消息.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有