Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.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
使用python扩展gdb:ModuleNotFoundError_Python_Debugging_Gdb_Modulenotfounderror - Fatal编程技术网

使用python扩展gdb:ModuleNotFoundError

使用python扩展gdb:ModuleNotFoundError,python,debugging,gdb,modulenotfounderror,Python,Debugging,Gdb,Modulenotfounderror,我有一个python脚本,它扩展了gdb进行C调试。我运行gdb project\u name/gdb/target.elf来启动gdb。我在Windows 10上使用cygwin终端。当我在gdb控制台中时,我键入源项目\u name/gdb/debug.py。在我的debug.py文件中,我有一个类StartupHandler: class StartupHandler(gdb.Command): def __init__ (self): super (Startup

我有一个python脚本,它扩展了gdb进行C调试。我运行
gdb project\u name/gdb/target.elf
来启动gdb。我在Windows 10上使用cygwin终端。当我在gdb控制台中时,我键入
源项目\u name/gdb/debug.py
。在我的debug.py文件中,我有一个类StartupHandler:

class StartupHandler(gdb.Command):
    def __init__ (self):
        super (StartupHandler, self).__init__ ("startup-handler", gdb.COMMAND_NONE)
    def invoke (self, args):
正在使用代码
StartupHandler()
对其进行序列化。之后,我可以在gdb控制台中运行
startup\u处理程序args
,它调用
invoke()
方法,进行一些初始化。之后,我可以调试我的目标

现在,我想把我在
project\u name/gdb/debug.py
中使用的一些全局变量分解到另一个名为
project\u name/gdb/debug\u data.py
的文件中,并从debug\u data import var1导入全局变量

通过从新文件导入全局变量,我得到了错误:

 File "c:\current\share\gdb/python\gdb\__init__.py", line 130, in _execute_file
    exec(compiled, globals, globals)
  File "project/gdb/debug.py", line 17, in <module>
    from debug_data import var1
ModuleNotFoundError: No module named 'debug_data'
文件“c:\current\share\gdb/python\gdb\\uuuuu init\uuuuu.py”,第130行,在执行文件中
exec(已编译、全局、全局)
文件“project/gdb/debug.py”,第17行,在
从调试_数据导入var1
ModuleNotFoundError:没有名为“调试数据”的模块
当我在gdb控制台中键入
source hymap/gdb/debug.py
时。
有人知道为什么gdb中的python解释器抛出ModuleNotFoundError吗?

project/gdb/debug.py第17行的代码是什么?要想
导入
能够找到
调试数据
,需要在python的
sys.path
列表中有
项目名称/gdb'
。从调试数据导入var1尝试
sys.path.append('project\u name/gdb')
@ssbssa