Questions tagged «debugging»

调试是在计算机程序中查找和修复错误的有条不紊的过程。**重要提示:**该标签仅用于有关调试技​​术或调试本身的问题,而不用于请求帮助调试代码。



5
如何使backtrace()/ backtrace_symbols()打印函数名称?
特定于Linux,backtrace()并backtrace_symbols()允许您生成程序的调用跟踪。但是,它仅打印函数地址,而不显示我程序的名称。如何使它们也打印函数名称?我试着编译程序-g以及-ggdb。下面的测试用例仅显示以下内容: 回溯------------ ./a.out()[0x8048616] ./a.out()[0x8048623] /lib/libc.so.6(__libc_start_main+0xf3)[0x4a937413] ./a.out()[0x8048421] ---------------------- 我希望前2个项目也显示函数名称,foo并且main 码: #include <execinfo.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> static void full_write(int fd, const char *buf, size_t len) { while (len > 0) { ssize_t ret = write(fd, buf, len); if ((ret == -1) && (errno != EINTR)) break; buf …
90 c  linux  debugging  backtrace 

7
Wireshark vs Firebug vs Fiddler-优缺点?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 最近,我遇到了一个CGI应用程序没有响应的问题。症状是Firefox显示: 正在从本地主机传输数据... 但问题是,我看不到Firebug的“网络”面板上的任何流量,并且浏览器永远停留在同一阶段。 我正在考虑调试该应用程序的方法,但是看不到源代码或其任何已编译的Java / C ++组件,因此我认为诊断的HTTP网络级别是一个好的开始。 我对Fiddler和Wireshark的经验很少,只是想知道他们是否会在HTTP网络级别获得更好的反馈/统计信息?我听说Wireshark非常先进,但可能会引入大量流量,因此系统管理员不太喜欢它。目前,我认为Firebug并未真正向我显示足够的信息。 我需要收集信息,然后才能将其转发给客户作为证据。

12
Chrome开发人员工具:HTML脚本为空(源代码中)调试教程
我正在使用NetBeans和Google Chrome浏览器进行C rome调试教程。包括扩展程序在内的所有内容似乎都可以正常运行,但是当我转到section时Use the Debugger,我看不到用于插入断点的html代码。 在浏览器上选择“检查”弹出窗口后,它将在控制台中打开,不显示任何内容,Elements显示带有添加图像的popup.html。当我转到Sources时,可以打开文件popup.html,但是唯一的行Line 1是空白。如果我打开js文件,则js文件在那里,并且可以编辑(断点)。 很抱歉-可能是一些基本的知识,但是我对此并不十分了解。我尝试重新加载并刷新所有内容。 location.reload(true)跟进:通过进入控制台提示符,popup.html文件作为“源”可见!为什么?不知道。 我希望这可以节省我度过整整一整天的时间。

3
Nuget的最佳做法:调试还是发布?
目前,我将发布版本与Nuget打包在一起,以将正式版本打包到nuget.org,但我将调试版本与Nuget打包在一起,以将符号源推送到symbolsource.org。 编辑:(乔恩·斯基特,从野田时间发展的一些偏见) NuGet现在支持同时推送到NuGet gallery 和 symbolsource.org(或类似的服务器),如记录所示。不幸的是,这里有两个矛盾的要求: 当只使用一个库而无需调试时,您确实需要发行版。毕竟,这就是发行版的目的。 当出于诊断目的而调试到库中时,您确实想要禁用所有适当优化的调试版本。毕竟,这就是调试版本的目的。 很好,但是(据我所知)NuGet不允许以有用的方式在同一程序包中发布发行版本和调试版本。 因此,选择是: 将调试版本分发给每个人(如文档中的示例所示),并在不影响大小和性能的情况下生存。 向所有人分发发行版,并在调试体验稍有下降的情况下进行。 选择一个非常复杂的分发策略,可能会提供单独的发行和调试包。 前两个确实归结为调试版本与发行版本之间的差异的影响……尽管值得注意的是,由于要检查某些行为而想要进入库的代码之间还有很大的不同。调试库的代码,因为您认为发现了一个错误。在第二种情况下,最好将库的代码作为Visual Studio解决方案来获取并以这种方式进行调试,因此我不必过多注意这种情况。 我的诱惑是只保留与发行版本,与预期相对很少有人会需要调试,和谁做的人不会受到影响太大由发布版本的优化。(无论如何,JIT编译器都会进行大多数优化。) 那么,还有其他我们没有考虑过的选择吗?还有其他考虑因素可以平衡吗?将NuGet软件包推送到SymbolSource是否足够新,以至于实际上还没有建立“最佳实践”?

8
如何将Visual Studio附加到尚未启动的进程?
我有无法由于某些原因(从Excel 2010模板项目创建的Excel文件)而无法从Visual Studio运行的.NET程序,因此需要调试启动事件。 如果我要调试程序初始化后发生的事件,那没有问题。我从资源管理器运行该程序,将该过程附加到Visual Studio,并在代码中添加一些断点。但是在这里,我需要在启动事件上设置断点。我需要能够将流程附加到Visual Studio,而不是取决于PID,而是取决于特定的流程名称或任何其他可行的解决方案。 当然,Thread.Sleep(1000)在启动事件中添加a可以给我一些时间在Visual Studio中附加该过程,这是不可能的!

9
将错误修复纳入Scrum流程的最佳方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 最近几天,我一直在学习和阅读有关Scrum的信息,并阅读有关Sprint计划和任务的信息。我想到的一个问题是如何处理Scrum中的错误。Henrik Kniberg在他的非常好的《Trenches》中的Scrum和XP中列出了解决此问题的一些方法: 产品负责人打印出优先级最高的Jira项目,将它们带入sprint计划会议,并将它们与其他故事一起放在墙上(从而隐式指定这些项目与其他故事相比的优先级)。 产品负责人创建引用Jira项目的故事。例如,“修复最关键的后台报告错误,即Jira-124,Jira-126和Jira-180”。 错误修复被认为不在冲刺之外,即,团队保持足够低的关注因子(例如50%)以确保他们有时间修复错误。然后简单地假设团队将花费一定的时间在每个sprint上修复Jira报告的错误。 将积压的产品放在Jira中(即Excel沟)。像对待其他故事一样对待bug。 这是否真的需要根据每个项目确定,还是有更好的解决方案?我可以想到每种方法的问题。这些方法中是否有最有效的混合方法?在项目中如何处理?
88 debugging  scrum 


10
Visual Studio如何从调试器序列化对象
我正在尝试调查故障转储中的错误(因此无法更改代码)。我有一个非常复杂的对象(序列化表示中的数千行),并且其状态不一致。要调查其状态,Visual Studio调试器视图是无用的。但是对象具有数据合同。我想序列化它,然后使用我最喜欢的文本编辑器在对象上导航。是否可以通过调试器执行?


5
python pdb-跳过循环
如何跳过使用的循环pdb.set_trace()? 例如, pdb.set_trace() for i in range(5): print(i) print('Done!') pdb在循环之前提示。我输入了一条命令。返回所有1-5个值,然后pdb在print('Done!')执行之前再次提示我。
88 debugging  pdb 

11
找不到用于调试.NET源代码的.cs文件
我尝试按照此MDSN演练设置调试.NET源代码。正确设置了符号缓存,并选中了“启用.NET Framework源代码步进”。 但是随后,每当我要进入.NET代码时,系统都会提示我指定相关cs文件的位置。错误消息是 You need to find <filename>.cs to view the source for the current call stack frame和The debugger could not locate the source file <filename>.cs。 我可以浏览文件(但我没有)或查看反汇编文件(但我不想要)。 如何进入.NET源代码?
88 c#  .net  debugging 

24
Visual Studio中的缓慢调试问题
在我的Visual Studio实例中,即使我只是在C#控制台应用程序中写了一行返回值,在按下F5它执行实际代码后,我也要花一分钟的时间(我的意思是,在此之后停止在单个return语句上所花费的时间紧迫F5 -我在main函数的return语句上设置了一个断点)。怎么了?有检查清单吗? 我正在使用Visual Studio 2008 VSTS版,并在Windows Server 2003 x64上进行调试。

2
用double替换int时Visual Studio长时间编译
我的VS2013 Ultimate副本将这段代码编译60秒钟以上: class Program { static void Main(string[] args) { double dichotomy = Dichotomy( d => { try { int size = (int) d; byte[] b = new byte[size]; return -b.Length; } catch (Exception) { return 0; } }, 0, int.MaxValue, 1); Console.WriteLine(dichotomy); Console.ReadKey(); } private static double Dichotomy( Func<double, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.