我正在为WASM构建一个编译器,但是现在我的(相当复杂的)测试程序在Google Chrome中执行时卡住了。我怎样才能知道它被卡在哪个函数里?除了打印它调用的所有函数。有没有一个优雅的方法?
svujldwt1#
你可以在Chrome或者Firefox中使用integrated debugger,你可以浏览指令,放置断点,进入/退出函数调用,查看调用栈,内存字节等等。为了能够看到你的语言的源代码,你可以使用源代码Map,或者更好的是,DWARF,因为源代码Map是目前的一种临时解决方案。有一些编译器可以发出源代码Map和/或DWARF格式,但在您的情况下,您可能必须自己开发。
1条答案
按热度按时间svujldwt1#
你可以在Chrome或者Firefox中使用integrated debugger,你可以浏览指令,放置断点,进入/退出函数调用,查看调用栈,内存字节等等。
为了能够看到你的语言的源代码,你可以使用源代码Map,或者更好的是,DWARF,因为源代码Map是目前的一种临时解决方案。
有一些编译器可以发出源代码Map和/或DWARF格式,但在您的情况下,您可能必须自己开发。