在C#中调试用F11逐语句调试,有的能进入函数,但有的没有 就象用F10一样?为什么?

解决方案 »

  1.   

    是不是有些unsafe的代码?在项目属性的debug选项里面选上enable unmanaged code debuging试试
      

  2.   

    如果在你的项目中调用了另一个DLL的函数,而这个DLL又是以Release形式发布的,则你按F11的效果和F10的效果一样。
    或者对于VS来说遇到不可调式的函数也将不能进入到函数内部进行单步调试。
      

  3.   

    如果此方法是static的,或是封装后在后台有修饰符的就进不了此方法,效果就象F10
    否则就可以进
      

  4.   

    一般情况下是不能debug到没有代码的项目里面去的
      

  5.   

    风速     风向
    6         0
    4       356
    3         7
    8         9
    2         5
    说明 风向 范围 348-360 ,0-10 这 之间 属于 北风
    我要查出 风速 小于或 等于 3,风向属于 北风 的  有多少个?
    请问 sql 语句怎么写 
      

  6.   

    你的调试的那个函数在你的项目中没有原码,或者是用别人的DLL的!就像你调试Console.WriteLine()一样,就算你按F11,它也不会进入到这个函数的实现体里!
      

  7.   

    select count(*) from table where 风向 between '0'and '10'and 风速 <='3'
      

  8.   

    还有种情况就是在做多线程的时候,如果你的断点设置在线程外,那么在跟踪到线程Start()的时候,也是进不去的。
    要在线程函数里的代码上再设置断点才能在线程中单步执行。
      

  9.   

    可能你的断点设置到其他项目的代码里,而走的是该项目的DLL
      

  10.   

    17楼 没明白我的意识  你那个sql 不是这样的  因为我有两个 范围 一个是0-10, 348-360 满足其中一都行 
    但是 用or   如果风速>3的话 而风向 属于348-360 他也满足条件  数一个  这样就错了 
    正确:
    select count(*) from table where (风向 between '0'and '10' or 风向 between '348'and '360') and 风速 <='3'
      

  11.   

    可能你的断点设置到其他项目的代码里,而走的是该项目的DLL
    确实不是在一个项目里。。我是凋用别的项目。。很奇怪。。我是引用的
    项目啊。
    不是引用他的DLL,就是跑不进去。。不知道为什么
      

  12.   

    只要是引用,如果方法为static的,就进不了方法的代码,如果此方法需要实例化然后调用的话,就可以进