草庐IT

DEBUGGING

全部标签

python - 调试慢程序;从中间重新开始

我有一个计算速度很慢的程序,我想调试算法。现在总是重新运行一切是非常乏味的,我宁愿从程序的中间重新启动。你能想出一些巧妙的方法来实现这一目标吗?第一个模糊的想法是定义检查点(我进行函数调用的地方),我在其中使用pickle和/或sqlite(sqlite能够检查中间数据)保存局部数据和大数据。稍后我可以尝试调用程序告诉它在特定检查点重新启动。但是,我不想为此目的在检查点之间拆分所有代码块。有人知道如何解决这个调试问题吗? 最佳答案 使您的程序更加模块化。理想情况下,主要代码块应该类似于importconfigimportmy_num

python - 调试慢程序;从中间重新开始

我有一个计算速度很慢的程序,我想调试算法。现在总是重新运行一切是非常乏味的,我宁愿从程序的中间重新启动。你能想出一些巧妙的方法来实现这一目标吗?第一个模糊的想法是定义检查点(我进行函数调用的地方),我在其中使用pickle和/或sqlite(sqlite能够检查中间数据)保存局部数据和大数据。稍后我可以尝试调用程序告诉它在特定检查点重新启动。但是,我不想为此目的在检查点之间拆分所有代码块。有人知道如何解决这个调试问题吗? 最佳答案 使您的程序更加模块化。理想情况下,主要代码块应该类似于importconfigimportmy_num

python - 在 Python 解释器中调试代码

我喜欢在Python解释器中测试函数。当我想查看的不仅仅是返回值和副作用时,是否可以在Python解释器中调试函数?如果是这样,您能否展示基本的调试器操作(使用参数启动函数、设置断点、下一步、进入、观察变量)?如果不是,您将如何以其他方式调试函数?重点是,我只想调试将提供参数的特定函数。我不想调试整个模块代码。谢谢你的建议 最佳答案 如果你想调试特定的功能,你可以使用这个->>>importpdb>>>importyourmodule>>>pdb.run('yourmodule.foo()')通过命令行。pdb.set_trace(

python - 在 Python 解释器中调试代码

我喜欢在Python解释器中测试函数。当我想查看的不仅仅是返回值和副作用时,是否可以在Python解释器中调试函数?如果是这样,您能否展示基本的调试器操作(使用参数启动函数、设置断点、下一步、进入、观察变量)?如果不是,您将如何以其他方式调试函数?重点是,我只想调试将提供参数的特定函数。我不想调试整个模块代码。谢谢你的建议 最佳答案 如果你想调试特定的功能,你可以使用这个->>>importpdb>>>importyourmodule>>>pdb.run('yourmodule.foo()')通过命令行。pdb.set_trace(

Python 日志记录类型错误

你能帮帮我吗,有什么问题吗?importloggingif(__name__=="__main__"):logging.basicConfig(format='[%(asctime)s]%(levelname)s::%(module)s::%(funcName)s()%(message)s',level=logging.DEBUG)logging.INFO("test")我不能运行它,我有一个错误:Traceback(mostrecentcalllast):File"/home/htfuws/Programming/Python/just-kidding/main.py",line5,

Python 日志记录类型错误

你能帮帮我吗,有什么问题吗?importloggingif(__name__=="__main__"):logging.basicConfig(format='[%(asctime)s]%(levelname)s::%(module)s::%(funcName)s()%(message)s',level=logging.DEBUG)logging.INFO("test")我不能运行它,我有一个错误:Traceback(mostrecentcalllast):File"/home/htfuws/Programming/Python/just-kidding/main.py",line5,

python - 是否可以通过调试在 IPython 中运行命令?

这是我在IPython中的操作:>importmy_module>importipdb现在,我的模块缺少任何可执行代码,它只声明类。所以我想声明一下:>g=my_module.Graph()>f=open('test.osm')>g.from_osm(f)我想在Graph.from_osm中放置一个断点,而不编辑文件。我不想将后几行放入文件中并执行python-mipdb...。我只想运行命令和调试。这可能吗?补充:我明白了,有可能%run-dscript_name或>importpdb>pdb.run('statement')但是ipdb.run('statement')是不可能的,

python - 是否可以通过调试在 IPython 中运行命令?

这是我在IPython中的操作:>importmy_module>importipdb现在,我的模块缺少任何可执行代码,它只声明类。所以我想声明一下:>g=my_module.Graph()>f=open('test.osm')>g.from_osm(f)我想在Graph.from_osm中放置一个断点,而不编辑文件。我不想将后几行放入文件中并执行python-mipdb...。我只想运行命令和调试。这可能吗?补充:我明白了,有可能%run-dscript_name或>importpdb>pdb.run('statement')但是ipdb.run('statement')是不可能的,

python - PyOpenCl:如何调试段错误?

我有PyOpenCL代码和OpenCLC内核代码。我在运行我的应用程序时捕获了段错误。如何使用某些调试器或其他开发工具来调试此类错误?我不知道到底该怎么做才能找出问题所在。我想到了printf之类的选项,但我想使用更强大的东西。我认为内核代码有错误,所以我想先调试内核代码。更新。我在linux(ArchLinux,3.6.11)、python2或3、PyOpenCl2012.1 最佳答案 内核调试是一个依赖于实现的事情。在Linux上,我发现最好的方法是在CPU上使用AMD的CL实现,使用-g编译内核,并使用gdb。他们在他们的编程

python - PyOpenCl:如何调试段错误?

我有PyOpenCL代码和OpenCLC内核代码。我在运行我的应用程序时捕获了段错误。如何使用某些调试器或其他开发工具来调试此类错误?我不知道到底该怎么做才能找出问题所在。我想到了printf之类的选项,但我想使用更强大的东西。我认为内核代码有错误,所以我想先调试内核代码。更新。我在linux(ArchLinux,3.6.11)、python2或3、PyOpenCl2012.1 最佳答案 内核调试是一个依赖于实现的事情。在Linux上,我发现最好的方法是在CPU上使用AMD的CL实现,使用-g编译内核,并使用gdb。他们在他们的编程