Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gdb-python编程:如何编写代码,为C++;上课? 我希望能够在GDB中的C++类的每一个方法中设置断点。 我认为最简单的方法可能是python,因为现在python可以完全访问gdb。我对python知之甚少,加上gdb,这就更难了。我想知道有没有人知道如何编写一个类Python代码,它在GDB中给每个类的方法设置断点。 < P>编辑:我注意到你在问如何用C++类来完成这一点,而不是Python类。哎呀。我将留下答案,希望它对调试python扩展的任何人都有用_C++_Python_Debugging_Gdb - Fatal编程技术网

gdb-python编程:如何编写代码,为C++;上课? 我希望能够在GDB中的C++类的每一个方法中设置断点。 我认为最简单的方法可能是python,因为现在python可以完全访问gdb。我对python知之甚少,加上gdb,这就更难了。我想知道有没有人知道如何编写一个类Python代码,它在GDB中给每个类的方法设置断点。 < P>编辑:我注意到你在问如何用C++类来完成这一点,而不是Python类。哎呀。我将留下答案,希望它对调试python扩展的任何人都有用

gdb-python编程:如何编写代码,为C++;上课? 我希望能够在GDB中的C++类的每一个方法中设置断点。 我认为最简单的方法可能是python,因为现在python可以完全访问gdb。我对python知之甚少,加上gdb,这就更难了。我想知道有没有人知道如何编写一个类Python代码,它在GDB中给每个类的方法设置断点。 < P>编辑:我注意到你在问如何用C++类来完成这一点,而不是Python类。哎呀。我将留下答案,希望它对调试python扩展的任何人都有用,c++,python,debugging,gdb,C++,Python,Debugging,Gdb,一些谷歌搜索结果: 我们可以找到这样一个类的所有方法: import inspect class Foo(object): bar = 1 def baz(self): print "quoz" inspect.getmembers(Foo, inspect.ismethod) # [('baz', <unbound method Foo.baz>)] 注意:这是未经测试的,因为我没有安装gdb模块。您可以生成一个.gdbrc文件(例如使用pyth

一些谷歌搜索结果:

我们可以找到这样一个类的所有方法:

import inspect
class Foo(object):
    bar = 1
    def baz(self):
        print "quoz"
inspect.getmembers(Foo, inspect.ismethod)
# [('baz', <unbound method Foo.baz>)] 
注意:这是未经测试的,因为我没有安装
gdb
模块。

您可以生成一个.gdbrc文件(例如使用python),其中一行包含 'break C::foo'
对于类C的每个函数,然后启动gdb。

假设您使用调试符号编译,您甚至不需要python:

rbreak source.cpp:.

谢谢,但是我真的很想有一个常规的程序,当我在gdb的时候可以正常工作,而不需要出去。由于tab completion将显示一个完整的符号列表,显然gdb有相关信息。哇,太好了,谢谢!我正在度假,没有办法检查这个,但我只是看了gdb文档,它就在那里!
rbreak source.cpp:.