python 为啥不能一步步手动调试?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 为啥不能一步步手动调试?相关的知识,希望对你有一定的参考价值。

VBA就可以,python为什么就不可以? 很不方便的。 python如何实现手动单步调试?

python的IDLE有调试功能
IDLE的调试功能比较初级,可以用下其它IDE的调试功能如pycharm


IDLE的调试模式:
图一是打开调试模式的按钮
图二是打开的调试界面
图三是当你运行任何一个运行脚本时,就会进行调试

单步调试什么的都在那个面板上,断点要在脚本文件里右键打

参考技术A 使用print不就可以一步步调试了吗

节点调试:为啥我不能设置断点?

【中文标题】节点调试:为啥我不能设置断点?【英文标题】: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.loged 的东西会出现在标准输出中(像往常一样),而不是检查器控制台。此外,您的测试脚本可能会在您有机会连接调试器之前完成。我会在一个窗口中运行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 为啥不能一步步手动调试?的主要内容,如果未能解决你的问题,请参考以下文章

Dev c++程序不能调试为啥?

为啥我不能远程调试?我怎么能找出原因?

python如何一步步调试

为啥我的python GUI不能用?

为啥 Visual Studio 不能在“不调试就启动”模式下打开文件?

为啥 VS2015 调试器不能在监视窗口中正确显示函数地址?