我只是自己尝试了一些东西,幸运的是,现在它可以工作了。至少它可以按预期打印出地图和矢量内容。这是我所做的:
由于抱怨它找不到
printer.py模块,所以我认为应该告诉python解释器此文件所在的位置。所以我首先在我的〜/ .gdbinit中添加了这一行:
sys.path.append("/home/jerry/myLib/gdb_stl_support/python/libstdcxx/v6")
(行后
sys.path.insert(0, '/home/jerry/myLib/gdb_stl_support/python'))
然后再次运行gdb,出现以下错误:
Traceback (most recent call last): File "<string>", line 5, in <module> File "/home/jerry/myLib/gdb_stl_support/python/libstdcxx/v6/printers.py", line 1247, in register_libstdcxx_printers gdb.printing.register_pretty_printer(obj, libstdcxx_printer) File "/usr/share/gdb/python/gdb/printing.py", line 146, in register_pretty_printer printer.name)RuntimeError: pretty-printer already registered: libstdc++-v6/home/jerry/.gdbinit:7: Error in sourced command file:Error while executing Python pre.
给定错误信息,我编辑了〜/ .gdbinit文件并注释了这一行
register_libstdcxx_printers (None)。
然后在运行gdb之后,它就可以工作了。
但是我仍然想知道是否以递归方式搜索sys.path中的目录?我的意思是,python解释器应按以下方式工作:在中添加一个目录后
sys.path,该目录下的子目录也将在其中搜索模块文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)