gdb中的Python打印

2024-10-04 01:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想向gdb添加一个简单的python命令,但是在调用python源代码时,“print”命令被视为gdb内部的错误。有什么帮助吗?谢谢您 我的代码如下:

#!/usr/bin/env python

import gdb
import re
import sys

class PrintGList(gdb.Command):
    """Visualise pointers and values in a given space  """

    def __init__(self):
        gdb.Command.__init__(self, "fpointers", gdb.COMMAND_DATA, gdb.COMPLETE_SYMBOL, True)

    def invoke(self, arg, from_tty):
        arg_list = gdb.string_to_argv(arg)
        if len(arg_list) < 2:
            print "usage: fpointers <address> <offset>"
            return
        address = gdb.parse_and_eval(arg_list[0])
        offset = gdb.parse_and_eval(arg_list[1])

        print "address : "+str(address)+", offset : "+str(offset)

PrintGList()

Tags: andimport命令selfinitaddressdefarg