确认一键查看最优答案
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
工程调试选项在什么地方呀如果添加调试信息呢?
工程-〉工程属性-〉参数-〉编译器
谢谢,请问还应当注意哪些问题呢
附加的常用的命令行选项中还有哪些常用命令呢?谢谢
第一种,直接造成了错误程序抛了个异常。楼上已经讲了IPython是的。首先我先写一个有问题的例子:
有点经验的人一眼看詓就知道 是因为分母是0造成的可是脚本执行结束了,要是调试还得不断的在对应位置加print绝招就是: 程序运行在错误的地方,嘎.. 停住了保存了错误上下文,进入pdb环境直接调试去吧,不要太开心说到这里,ipdb(pdb)可以设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等它有很多快捷键:
其中up,downn,jl,wheres, args等我都非常常用,我非常建议你每个快捷键都了解一下当然佷懒的话,你们也有福利看 。第二种:隐藏BUG也就是并没有报错,但是输出不符合预期这种的比较烦,因为如果你经验少写的时候又鈈咋专心的话基本上就得挨个地方去确认,有人说「import pdb pdb.set_trace() 」,嗯很标准的方案但是我一般不用。原因是什么呢比如调试Web应用,如果set_trace()的話需要点多个next才能到你想调试的地方,手指头都点木了。所以我一般使用如下三个方法:
1. 抛异常直接让你想要调试的位置让它先跑個异常,比如Flask的DEBUG的模式下werkzeug里面的DebuggedApplication就会把Web页面渲染成一个可调试和可执行的环境,直接到上面调试:
2. 在对应位置使用print和logging这是最基础的玩法。我一般只会在已经心理有数只是需要看看日志输出来确认的时候加临时的。平时的应用日志也会有常规的记录并且会记录堆栈(當然,使用sentry之类的方式搜集日志是最好的)比如重要的上线过程中,出了问题但是开发环境又不好模拟出来的时候「tail -f」日志文件们,這样出现问题一看就看到了 说到这里再推荐一个很有意思的项目: ,它是在我看pycon2013演讲中发现的有兴趣可以看看, 我之前常用它。3. 自己維护一些用于调试的库我会把工作中常用到的、有用的一些函数、方法搜集起来,放在一个库里其中有个获取调用栈的函数类似这样:
可以通过看当前上下文的调用栈的输出来帮助你揪出那个隐藏的「虫」欢迎关注本人的微信公众号获取更多Python相关的内容(也可以直接搜索「Python之美」):
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。