如何解决如何记录两个断点之间的调用堆栈?
我正在尝试使用 PyCharm 来调试一个大型项目。我的问题是现在我有以下代码:
objList = [obj1,obj2]
for obj in objList:
fun(obj)
预期的结果是 fun(obj1)
和 fun(obj2)
都不会导致错误,但事实是 fun(obj2)
引发异常而 fun(obj1)
不会。所以想找个方法把两个函数调用的调用栈记录下来,比较调试。注意fun(obj1)
不会引发任何错误,因此不会命中异常处的断点,并且项目很大,因此无法逐层进入函数。
解决方法
这需要两个步骤,一个是设置断点,另一个是配置日志文件。
1.1.右键单击断点并设置回溯函数,在本例中为 traceback.print_stack()
。 (您必须在模块顶部import traceback
。)
1.2.您可以点击“更多”来展开对话。
- 在
Run
>
Edit Configurations
>
Logs
中设置日志文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。