【问题标题】:How does pycharm work? How did they hook into the interpreter?pycharm 是如何工作的?他们是如何进入口译员的?
【发布时间】:2019-05-30 07:32:27
【问题描述】:

我知道如何使用 PyCharm 的调试器,但这只会加深我对它如何完成与 Python 解释器紧密耦合的任务的好奇心。

cPython 本身是否有某种解释器钩子,或者 PyCharm 是否以某种方式复制源代码,检测代码,然后执行它?

【问题讨论】:

标签: python debugging pycharm internals


【解决方案1】:

感谢@unholySheep,我能够从 PyDev.Debugger 上的 github src 回到 sys.settrace,这导致了在 settrace 上发布了本周 Python 模块的帖子。

一旦跟踪脚本具有堆栈帧,检查帧的堆栈内容和/或使用code/exec/eval 在上下文中运行“监视”语句可能是一项不平凡的任务。至于断点,这将是微不足道的,因为它只是匹配帧的行号和文件路径的任务。

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2014-11-11
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多