作为一个学习练习,我正在使用IronPython编写一个简单的扩展/插件/宏框架 - 我已经使基本功能正常工作,但我想添加一些基本的调试支持,以使我的脚本编辑器更易于使用。我在互联网上搜寻了一些资源,发现了一些关于编写托管调试器的好资源(包括Mike Stall的优秀的.Net Debugging blog和MSDN文档中的CLR Debugging API)- 我知道IronPython本质上是IL,但除此之外,我对如何入手有些困惑,特别是:
- 调试动态语言(如IronPython)与静态语言(如C#)之间是否存在任何显着差异?
- 我需要以特殊方式执行我的脚本才能使IronPython输出适当的调试信息吗?
- 调试运行在当前进程中的脚本是否会导致死锁,或者IronPython会在子进程中执行我的脚本?
- 我最好先研究如何制作一个简单的C#调试器以获得一般的思路吗?
我目前对于制作调试器的图形用户界面不感兴趣 - 我已经有了一个相当好的想法,关于如何实现它。