如何解决使用 python 扩展 gdb:ModuleNotFoundError
我有一个 python 脚本,它为 C 调试扩展了 gdb。我运行 gdb project_name/gdb/target.elf
来启动 gdb。我使用 cygwin 终端在 Windows 10 上。当我在 gdb 控制台中时,我输入 source project_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()
初始化。之后,我可以在调用 startup_handler args
方法的 gdb 控制台中运行 invoke()
,这会进行一些初始化。之后我可以调试我的目标。
现在我想在一个名为 project_name/gdb/debug.py
的附加文件中提取出我在 project_name/gdb/debug_data.py
中使用的一些全局变量,并导入全局变量,如 from debug_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'
当我在 gdb 控制台中输入 source hymap/gdb/debug.py
时。
有谁知道为什么gdb里面的python解释器会抛出ModuleNotFoundError?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。