首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开Python核心转储后调试器中的python shell

打开Python核心转储后调试器中的python shell
EN

Stack Overflow用户
提问于 2018-04-09 21:18:52
回答 1查看 989关注 0票数 1

我有一个正在运行的CPython程序的核心转储,并希望在转储的进程上下文中执行Python代码。

我已经用gdb python core-dump-file将内核和解释器加载到gdb中。

我知道python-interactive,但是它不能看到上下文(例如:import sys; sys.modules没有给我任何进程的模块)

我该怎么做呢?

如果这是唯一可能的方法,我不介意调用CPython的C函数。

EN

回答 1

Stack Overflow用户

发布于 2018-07-26 04:43:17

1)首先检查您的gdb是否从源码开始使用python搭建。

您可以通过以下方式(在gdb提示符中)执行此操作:

代码语言:javascript
复制
(gdb) python print("Hi from python")

如果您想要检查系统中的python版本,请尝试:

代码语言:javascript
复制
(gdb) python import sys
(gdb) python print(sys.version)

如果这些命令失败。这可能意味着你的gdb从一开始就不支持python。

您应该从源代码构建gdb,并在配置步骤中添加--with-python="Path to python“

例如:

代码语言:javascript
复制
./configure --with-python=/usr/bin/python36

希望这能有所帮助!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49733996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档