用Visual Studio调试的时候,如果按F10进行步进,经常会跳到wincore.cpp等系统的CPP文件,感觉进来也没有什么意义,请问有办法避开跳进这些文件里面吗?
还有一个问题,就是如果有时继续F10的话,会进入“反汇编”,我就想通过F10整体了解一下程序运行的流程,可是总被这样的打断,请问有什么办法能解决吗?谢谢各位了!

解决方案 »

  1.   

    用F5步过调试,F10遇到CALL会跟进去的.
      

  2.   

    右键菜单里有个--> 选择性的步入函数->然后是个列表...你点F10的时候,,经常性可以右键查看.然后选择需要进入的函数.比如 fun(strA.Empty(),StrB.GetLength());F10到这步的时候..你想进fun去看..但F11,会进CString相关的几个函数..这个时候右键菜单里有个选择,可以直接进fun()这个函数.
      

  3.   

    如果你调用系统函数时,导致了系统函数内部的一个异常,你不得不进去,因为系统会在那break!
    所以如果你发现你进入系统的函数,首先应该检查你的参数对不对,调用的上下文对不对等等,
    没有可能让你永远不进去,只要你错,必然会进去。
      

  4.   

    你程序没错..一个消息处理函数处理了比如PendMessage发送过来的消息..可能就回到操作系统了.
    这个时候..你只有查看堆栈..找到一个合适的地方下断.然后F5过去..
    进了反汇编假如你不想看这个.可以把窗口关掉.
      

  5.   

    更正一下:如果是你试图执行一个系统函数进入反汇编的,一定是代码错了
    如果是你试图返回一个函数时进入反汇编,那代码应该没错,而是楼主没理解windows消息处理的机制。一个消息的处理不是这么直接的,你不可能通过单步把整个脉络弄清楚