python 为啥不能一步步手动调试?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 为啥不能一步步手动调试?相关的知识,希望对你有一定的参考价值。
VBA就可以,python为什么就不可以? 很不方便的。 python如何实现手动单步调试?
python的IDLE有调试功能
IDLE的调试功能比较初级,可以用下其它IDE的调试功能如pycharm
IDLE的调试模式:
图一是打开调试模式的按钮
图二是打开的调试界面
图三是当你运行任何一个运行脚本时,就会进行调试
单步调试什么的都在那个面板上,断点要在脚本文件里右键打
节点调试:为啥我不能设置断点?
【中文标题】节点调试:为啥我不能设置断点?【英文标题】:node-debug: why can't I set a breakpoint?节点调试:为什么我不能设置断点? 【发布时间】:2017-04-05 09:09:03 【问题描述】:我正在使用 node-debug 并且知道我要为其设置断点的文件和行。
发生了什么:
debug> setBreakpoint('./services/search.js', 359)
Warning: script './services/search.js' was not loaded yet.
You can't list source code right now
为什么我不能“列出源代码”?如何动态添加断点(无需编辑源代码添加debugger
)?
我尝试了其他工具进行调试,并且很想使用 Chrome 开发工具,但由于我们的项目卡在 v0.12.3 上,因此我认为这是不可能的。
另外,一些选项是有限的/棘手的,因为我正在使用带有无头 VM 的 Vagrant。
【问题讨论】:
node-inspector 应该适用于 0.12。 (在节点 >= 6 中,请改用内置的node --inspect
。)
@josh3736 我尝试了节点检查器,但它似乎无法正常工作。如果我在第一行使用 console.log 制作一个简单的程序,则不会记录任何内容。而且,在虚拟机中,如果我 curl localhost:8080,没有响应
使用节点检查器,我很确定console.log
ed 的东西会出现在标准输出中(像往常一样),而不是检查器控制台。此外,您的测试脚本可能会在您有机会连接调试器之前完成。我会在一个窗口中运行node-inspector
,然后在另一个窗口中运行node --debug-brk myscript.js
。然后您可以在网络浏览器中打开检查器并开始执行。
@josh3736 使用节点检查器,标准输出中没有显示任何内容。而且我的小测试脚本有 debug
行,所以不需要 --debug-brk 。我正在尝试使用一个小脚本:var x = 2; console.log(x); debugger; x = 3; console.log(x);console.log('done');
也尝试使用大型 Express 应用程序。
debugger
如果在执行该行时没有 attached 调试器,则语句无效 - 所以是的,--debug-brk
是您的测试脚本所必需的。 (虽然奇怪的是您的日志没有显示在标准输出上...process.stdout.write
?)
【参考方案1】:
这在节点 6 中仍然是一个问题。
网上关于它的资料很少,很可惜。
但是,node --inspect
然后使用 Chrome 确实 工作。
【讨论】:
以上是关于python 为啥不能一步步手动调试?的主要内容,如果未能解决你的问题,请参考以下文章