我使用IL汇编程序实现了.Net版本的旧版Basic语言。它运作得很好。但是,如何为Visual Studio IDE中的GOSUB语句实现提供更好的调试体验。 GOSUB语句在Basic语言中很常见,它是作为代码段和分支返回的分支实现的。问题是步入(F10)和步骤(F11)的行为都相同 - 都进入GOSUB部分。所期望的是F10进入GOSUB语句时F10进入(当前行为)。
当用户点击F10时,我该怎么做才能实现步骤?是否有一些我可以利用的属性?
答案 0 :(得分:0)
Step-over需要调试器和调试对象之间的协议。标准协议涉及方法调用和返回。由于您不想遵循该协议,因此您需要形成另一个协议。这可能意味着您需要implement your own debugger,或者如果您幸运,您可以使用visual studio plugin来实现此目的。无论哪种方式,编译器无疑需要在某处记录一些元数据,描述哪些分支指令应被视为GOTO,并且在执行这样的步骤时需要跳过哪些IL指令范围。