我知道Python源代码被编译成字节码,然后由Python VM(比如CPython)解释。如果我理解正确,则意味着VM解析字节码指令并(在运行时)决定应相应执行哪些CPU指令。
我的问题:
答案 0 :(得分:3)
在Linux上使用strace
,它将显示任何程序(包括python)进行的每个系统调用。在Windows上,您必须使用wt或Logger.exe之类的东西来跟踪所有库调用(而不仅仅是系统)。
您可以使用gdb
之类的调试器来实时查看机器代码,并且由于您具有CPython源代码,因此更好的选择是仅使用调试符号进行编译,然后在C调试器中运行它,可以为您提供高级调用堆栈,这将更容易理解。