我尝试用 emacs pdb 调试 python, 但没有代码语法高亮,可以弄出来吗?
我按照文档安装:
M-x package-refresh
M-x package-install realgud
然后加载:
M-x load-library realgud
然后运行:
M-x realgud:pdb
并输入python 文件名/usr/bin/emerge
窗口下半部分源码还是没有语法高亮:
在第一行加一个
# ; -*- mode: python;-*-
要不在src窗口手动M-x python-mode
感觉你源代码上major-mode 是Fundamental? 不应该开启python-mode 么?你源码上本身就没有什么python 高亮支持吧?你可以简单扫一下我的python 配置,或许对你能有点用。我没有额外配置pdb or realgud or lsp-dap, 当我调用realgud的时候,会在源码文件上有提示。
如何才能在 src 窗口手动 M-x python-mode
呢? 我通过顶部菜单选择buffer, 让光标可以在 src 窗口(也就是上图名叫 emerge 的buffer, 显示 Fundamental 的)。但这时候我若 M-x 系统会说 command attempted to use minibuffer while in minibuffer
我若在调试窗口不断执行n,s, 进入另一个被调用的 .py 程序,代码会显示语法高亮,但是这个/usr/bin/emerge 是系统代码,我最好不要改它,那么如何才能让被调试代码进入 python-mode 显示呢?
我若是 emacs -nw /usr/bin/emerge 打开Python代码; 然后 M-x Python-mode 可以实现代码语法高亮。
但这种方式如何开始调试当前窗口代码,也就是 /usr/bin/emerge 呢?
更新:作为 workaround, 我把 /usr/bin/emerge 复制了一份,文件名改为 /usr/bin/emerge.py ,然后 pdb 调试的时候就语法高亮了.
没怎么在emacs里面使用pdb,如果是terminal环境下,需要pdb++。