无法在Netbeans中使调试器正常工作以处理Python
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
可能是你在文件路径中用了空格(我也遇到过这种情况)。
0
有人提到项目路径中的空格会导致这个错误(对我来说,在Kubuntu 13.10和Netbeans 7.4上,即使把路径中的空格去掉,这个问题还是存在)。
2
我在使用Netbeans的Python调试器时也遇到了一些问题。Netbeans对Python的支持还不够完善,和它对Java的支持相比,差得远。
你可以试着在工具菜单里找到“Python平台”,然后检查一下Python的设置;可以尝试删除并重新添加解释器,这样可以强制重新加载库。
另外,试着去掉代码中的__ author __那一行,因为这似乎会让调试器感到困惑。记住,Netbeans的调试器通常会在脚本的第一行自动设置一个“断点”,这有时候会让我误以为程序“卡住”了,实际上它只是在等我指示它继续。
如果你只是需要一个调试器,而不一定要用Netbeans,我建议你试试Winpdb(这是一个独立的跨平台调试器,尽管名字上有点误导),它的表现很好,虽然不支持监视变量,并且需要稍微调整一下PYTHONPATH才能运行你的项目;或者你可以使用Eclipse加上Pydev;虽然我不是Eclipse的忠实粉丝,但我觉得Pydev的调试器真的很好用。
商业IDE支持其他调试器,但我觉得那超出了你的问题范围。