我有一个项目引用我有代码的程序集.我也有所有的PDB文件等.但是,在某些时候我在调试时单击对话框上的错误按钮,现在我不能再进入汇编代码了.我知道这个描述有点模糊,但我相信我不小心点击的对话框就是当你的"源代码比程序集的内置版本更新时抱怨,继续调试?" 但我不能确定.无论如何,我很肯定有一些简单的方法可以让Visual Studio恢复到一个状态,它将再次开始逐步执行汇编代码.有什么好主意吗?
我只是把eclipse放在我的笔记本电脑上,当我使用Step Into调试工具时,它不仅仅把我带到我的代码的下一部分.一个例子是如果我调用.size();一个数组列表,它将带我进入数组列表类并通过所需的所有代码.size();
但是在我的桌面上它只需要我下一段代码.我做:
System.out.println("hello world!");
Run Code Online (Sandbox Code Playgroud)
如果我点击"Step Into"(从我的桌面),hello world将出现在控制台上.
相比之下,如果我System.out.println("hellow world");在笔记本电脑上"Step Into" ,它首先拉出PrintStream.class,然后点击Writter.class,然后是String.class,然后是BufferedWritter.class等.
我在调试时只是使用"Step Over",但是有一些调用,一个基本的例子就是mergeSort(arr, 0, arr.size());如果我跨过它,它会跳过整个事情,但如果我进入它,它会拉起arr.size();方法,我将不得不点击所有这些,然后再回到我的东西.
在我的桌面上,我正在运行windows和eclipse版本3.4.1.在我的笔记本电脑上,我正在运行linux和eclipse版本3.5.1.
思考?建议吗?那有意义吗?
我似乎无法找到有关调试python Web应用程序的任何信息,特别是逐步执行Web请求.
这是不可能的吗?如果不是,为什么不呢?
我正在开发一个大型VS2010解决方案中的几个项目(A和B)(所有项目都在C#中).在很多情况下,项目A中的方法调用解决方案中的一个或多个项目,而我不负责,后者又调用项目B.当从项目A中调试调试器时,我被迫在我最终达到项目B的调用之前,在这些其他项目中逐步完成我没有兴趣的方法.此外,当我走出项目B时,我必须一步一步地通过调用栈在我回到项目A之前不感兴趣的方法
我目前正在通过在项目A和B的入口和出口点设置断点来解决这个问题,但我发现我花了很多时间在正确的地方设置这些断点,我觉得我的生活会很多如果我可以为某些项目禁用步进,则更容易.
我知道DebuggerStepThroughAttribute,但它的使用在我的情况下是行不通的,因为(i)我必须在很多地方添加它,以及(ii)我的办公室里有兴趣踩过这段代码的人不会高兴.
有任何想法吗?
有时(大约50%的时间),在调试Android应用程序时,为了进入一个功能,我使用F5(F6用于翻阅它)但它什么都不做
有时候,常规调试键都不起作用(F5,F6,F7,F8,也许是其他我不知道的).
目前,解决此问题的唯一方法是从"Debug"视图中选择当前线程(显示每个线程的当前堆栈),然后按F5键.当情况更糟(例如,无法使用内容辅助)时,我重启eclipse.
说到线程的,我发现,如果我有多个线程运行,有时当我尝试走得更远,它转到另一个线程,这是恼人的,因为我失去了我的当前线程的浓度.我知道它确实有道理,但它真的很烦人,特别是如果我考虑到有多个线程.
为什么会发生这些事情,我该如何解决它们?
注意:我有Eclipse,ADT和Android SDK的最新版本.在设备和模拟器上都会出现问题.
我调试,使大量使用STL的和为了不被在keyaboard整天捣按住Shift键F11应用久,我有一个my.natstepfilter文件中C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers包含
<?xml version="1.0" encoding="utf-8"?>
<StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
<Function><Name>std::.*</Name><Action>NoStepInto</Action></Function>
</StepFilter>
Run Code Online (Sandbox Code Playgroud)
据我所知,这是让VS2012不进入任何功能的方法std::,请纠正我,如果我错了.
然而,这没有任何影响,调试器只是跳进了所有内容.此外,当使用过滤器运行procmon Visualizers并启动调试会话时,它看起来像这样:

所以它查询正确目录中的所有内容,但继续读取所有.natvis文件,但不读取.natstepfilter文件.所以看来VS正在积极做一些事情来完全忽略过滤器.
关于如何解决这个问题或者在哪里寻找解决方案的想法?
附加信息:我有一大堆扩展加载,但它们似乎都没有与调试器有任何业务(更不用说他们告诉VS跳过过滤器文件).只是为了确保Debugger Type明确设置Native Only为我读到过滤器不适用于混合模式.被调试的应用程序只是本机的.尝试调试x86和x64进程.
我正在尝试使用PL/SQL开发人员的内置调试器来调试过程.
单步执行后BEGIN,当调试器超过实际的过程调用时,"步入"按钮将执行该过程而不输入它.
任何建议,将不胜感激.
出于好奇。我想知道是否可以(F11)在调试期间进入后台工作人员。它通常只是跳到下一行代码。它是需要更改的VS设置吗?它就是它本来的样子吗?
任何澄清将不胜感激。谢谢。
让我们举个例子:
public static class Extensions
{
public static string MakeString(this object obj)
{
if (obj == null) return string.Empty;
return obj.ToString();
}
}
public class ABC
{
public void Method()
{
object obj = default(object);
//Implemention goes here..
// Here every time in step into navigate to MakeString() Method.
if(IsValid(obj.MakeString()))
{
//Operations..
}
}
private bool IsValid(string str)
{
//Check if string is valid or not..
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
在这个示例Extentions类中有扩展方法并且我在类中使用它,ABC并且在使用此扩展和其他方法调用的条件下,然后每次我在MakeString()方法中逐步进入时,我们可以跳过它吗?通过使用method attribute?或通过其他方式?