使用python扩展gdb:ModuleNotFoundError
我有一个python脚本,它扩展了gdb进行C调试。我运行使用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
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