无法在Netbeans中使调试器正常工作以处理Python

2 投票
4 回答
2522 浏览
提问于 2025-04-15 17:26

Ubuntu 9.10

Netbeans 6.7.1

每次我启动调试器的时候,它都会崩溃,并显示下面的错误信息。

我已经把项目的设置调整到了正确的Python版本,但似乎无论设置成什么版本,都没有什么区别。

我还注意到,Python控制台窗口显示的是Python 2.5.0+正在运行,而不管我在项目设置中选择的是什么版本。

如果能得到任何帮助,我会非常感激,我现在真的很困惑。

[LOG]PythonDebugger : overall Starting
[LOG]PythonDebugger.taskStarted : I am Starting a new Debugging Session ...
[LOG]This window is an interactive debugging context aware Python Shell 
[LOG]where you can enter python console commands while debugging 
Exception in thread MainThread:
Traceback (most recent call last):
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
Debug session normal end
  File "/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 590, in run
exec self._cmd in self._myglobals,self._mylocals
  File "<string>", line 1, in <module>
  File "/media/Docs_/MyDocuments/websites/Machine Inteligence/Code/MachineInteligence/src/machineinteligence.py", line 1, in <module>
__author__="sky"
  File "/media/Docs_/MyDocuments/websites/Machine Inteligence/Code/MachineInteligence/src/machineinteligence.py", line 1, in <module>
__author__="sky"
  File "/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 724, in trace_dispatch
    self.dispatchLineAndBreak(mainDebugger, frame , lthread )
  File "/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 604, in dispatchLineAndBreak
    lthread.additionalInfo.breakHere(frame,lthread)
  File "/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 810, in breakHere
    while ( self.dbg.parseSubCommand(  self.dbg._connection.getNextDebuggerCommand() , frame , lthread ) == FREEZE ):
  File "/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 1452, in parseSubCommand
    hits = int(hits)
ValueError: invalid literal for int() with base 10: ''
/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py
args =  ['/home/sky/.netbeans/6.7/config/nbPython/debug/nbpythondebug/jpydaemon.py', 'localhost', '29100']
localDebuggee= None
JPyDbg connecting  localhost  on in=  29100 /out= 29100
JPyDbgI0001 : connected to  localhost

4 个回答

0

可能是你在文件路径中用了空格(我也遇到过这种情况)。

https://netbeans.org/bugzilla/show_bug.cgi?id=175116

0

有人提到项目路径中的空格会导致这个错误(对我来说,在Kubuntu 13.10和Netbeans 7.4上,即使把路径中的空格去掉,这个问题还是存在)。

https://netbeans.org/bugzilla/show_bug.cgi?id=196842

2

我在使用Netbeans的Python调试器时也遇到了一些问题。Netbeans对Python的支持还不够完善,和它对Java的支持相比,差得远。

你可以试着在工具菜单里找到“Python平台”,然后检查一下Python的设置;可以尝试删除并重新添加解释器,这样可以强制重新加载库。

另外,试着去掉代码中的__ author __那一行,因为这似乎会让调试器感到困惑。记住,Netbeans的调试器通常会在脚本的第一行自动设置一个“断点”,这有时候会让我误以为程序“卡住”了,实际上它只是在等我指示它继续。

如果你只是需要一个调试器,而不一定要用Netbeans,我建议你试试Winpdb(这是一个独立的跨平台调试器,尽管名字上有点误导),它的表现很好,虽然不支持监视变量,并且需要稍微调整一下PYTHONPATH才能运行你的项目;或者你可以使用Eclipse加上Pydev;虽然我不是Eclipse的忠实粉丝,但我觉得Pydev的调试器真的很好用。

商业IDE支持其他调试器,但我觉得那超出了你的问题范围。

撰写回答