题目不知道说清楚没有?
就是在用VisualStudio2005调试时,如果要修改代码,就必须停止运行,修改代码,再运行记得好像C++还是什么的 有些开发工具支持调试运行中修改代码,并可以不停止运行,直接运行修改后的代码。不知道VisualStudio是否支持这种功能呢?

解决方案 »

  1.   

    VC#中断中可以.
    VB不清楚
    VC...没试过.
      

  2.   

    "调试"的本质是"运行时中断".原理是调用Windows系统的几个调试函数, 插入一些中断, 当中断发生时, 系统调用调试器接管程序, 获取当时的寄存器信息和内存信息.于是,你可以看到当时各种变量, 函数调用堆栈等.
    而编译型语言在运行时, 至少当前函数是已经被编译为本地代码且载入内存中, 你是不能进行源代码大幅度修改的.当然, 在不影响函数堆栈的情况下, 你可以进行一些运行时修改, 比如改个变量值等. 这些你用任意一个调试器, WinDBG, OllyDBG, VS等都可以办到.但是, 想进行源代码大幅度修改, 继续执行, 这是不可能的, 因为这样必然会影响堆栈, 程序没法继续执行.
      

  3.   

    但是.Net有点不一样,  .Net并不是传统C++那样的编译型语言(编译为本地代码). 而是先编译为MSIL, 再JIT.所以, .Net可以做到一行代码一行代码的JIT. 和完全的解释性执行一样, 只要CLR愿意.如果你使用VS2005, VS2008, 在选择不优化代码的情况下, 是可以做到调试时修改.Net代码.