debugging相关内容

我如何通过命令行参数,而在Linux的启动GDB?

我要调试,在有错误,我的任务的一部分的程序。但是,我必须先通过命令行参数,以解决这个问题。 我做的: GDB -tui InsertionSortWithErrors 该作品,但之后,我不知道如何来传递参数。我用 GDB -help 和它说一些有关这--args我也尝试过,并没有工作。 我希望能够得到调试+ GUI和传递命令行参数。 有人能帮助我吗? 我不认为该计划是对这个问题真正相 ..
发布时间:2016-08-18 22:15:42 服务器开发

使功能GDB打印控制流程,他们被称为

如何使利益gdb的打印功能,因为他们是所谓的,根据他们是多么深的堆栈缩进? 我希望能够这样说(由): (GDB)跟踪富*酒吧*的printf 和有GDB打印它与富或酒吧开始,因为他们是所谓的所有功能。有点像GNU cflow的,除非使用调试符号,只有打印功能实际上被调用,并非所有可能的呼叫流程。 工具这将不利于包括cachegrind,callgrind和oprofile的,它下令由函数的 ..
发布时间:2016-08-18 22:14:05 C/C++

如何在项目中实现了良好的调试/日志功能

我想提出一个很小的项目,共约3-4人。我想有调试应用程序,通过日志,例如一个坚实的方式。是否有关于如何构建它,这样的好资源?我听说从项目经理很多,一个良好的日志记录功能是将每个项目的关键,但我不知道该怎么做。 解决方案 我发现这道博博士的文章,记录在C ++ 的,有关本主题非常有用的。 同样在道博博士:一个高度可配置的日志框架在C ++ 如果你想要的是一个死的简单线程安全的日志类,它总 ..
发布时间:2016-08-18 22:11:06 C/C++开发

将#define DEBUG 1

我想有一个调试模式,所以如果 将#define DEBUG 1 我想给printf一些变量的值,如果将#define DEBUG 0 我想他们了。 问题是我有很多实现文件,我想这DEBUG变量可用于整个项目。现在我需要在foo1.c,foo2.c,foo3.c这似乎繁琐和容易出错且必须有一个更好的方式来编辑DEBUG变量。有什么建议? 解决方案 编译时,你应该能够指定一个选项,你的编 ..
发布时间:2016-08-18 22:02:57 C/C++

为什么这对于在一些平台上,而不是别人循环退出?

我最近开始学习C,我采取了类C作为主题。我目前正在玩弄循环和我遇到一些奇怪的行为,我不知道该怎么解释。 的#include<&stdio.h中GT;诠释的main() { int数组[10],I; 对于(i = 0; I< = 10;我++) { 数组[我] = 0; / * code不应该终止* / 的printf(“测试\\ n”); } 的pri ..
发布时间:2016-08-18 21:52:47 C/C++

GDB:自动“Next'ing?

快速之一时,此时间。 是否有可能(超过pressing天荒地老进入)广发行不断接下来通过在线程序网上找哪里的错误是怎么回事? 编辑:继续不是我想什么;我希望看到有效完整的程序执行,一行行,因为你会从接下来获得ING一遍又一遍。 解决方案 这里的东西是那这样的黑客我有点不好意思地张贴。但是,如果你只需要一次性的,它可能会做的很好,足以让你得到你想要的信息。真的应该有更好的方式。 您可以 ..
发布时间:2016-08-18 14:35:53 C/C++

手表GDB内存范围?

我调试广发行计划,我想程序停止当访问内存区域0x08049000到0x0804a000。当我尝试手动设置内存断点,GDB似乎并不同时支持两个以上的位置。 (GDB)awatch * 0x08049000 硬件访问(读/写)观察点1:* 0x08049000 (GDB)awatch * 0x08049001 硬件访问(读/写)观察点2:* 0x08049001 (GDB)awatch * 0x08 ..
发布时间:2016-08-18 13:59:57 服务器开发

段错误仅在不使用调试器

我有一个多线程的C程序,在程序中的特定点而持续产生分段错误。当我使用gdb运行,​​无故障显示。你能想到的任何理由不使用调试器的时候,为什么会只发生故障?这是pretty烦人不能够使用它来发现问题! 解决方案 ..
发布时间:2016-08-18 13:59:19 C/C++

如何调试应用程序的根在Eclipse在Ubuntu?

我使用libpcap的编程。当我调试在正常模式下的应用,PCAP不能得到网络设备。看来,我必须调试根应用程序。 如何调试根应用?我有root密码。 我认为日食具有可用于调试应用程序添加根这样的选择,但我不知道该怎么做。 请帮忙。 解决方案 启用您的用户运行 GDB 作为root没有被要求为已任 密码:结果 须藤visudo命令结果 添加以下行所有其他规则后:结果 < ..
发布时间:2016-08-18 13:50:59 Java开发

" strlen的(S1) - 的strlen(S2)"是从不小于零的

我目前正在写一个需要字符串的比较频繁的一个C程序的长度,所以我写了下面的辅助功能: INT strlonger(字符* S1,字符* S2){ 返回的strlen(S1) - 的strlen(S2)> 0; } 我注意到,即使在 S1 比 S2 长度较短的函数返回true。有人可以解释这种奇怪的行为? 解决方案 什么你遇到一些奇怪的行为处理包含符号和无符号数量前press ..
发布时间:2016-08-18 13:48:06 Java开发

内存泄漏检测器对C?

什么内存泄漏探测器有人们不得不用一个很好的经验? 下面是答案的总结至今: Valgrind的 - 构建动态分析工具仪表框架 电围栏 - 与GDB工作的工具 夹板 - 译注辅助轻量级静态检查 夜光code - 这是针对Windows和.NET的一个完整的实时性能和内存分析器程序员谁开发与C ++,C#或任何.NET框架应用程序 另请参阅该 ..
发布时间:2016-08-18 13:47:59 C/C++

获取GDB保存的断点列表?

OK,信息休息列出了断点,而不是在一个格式,将与使用--command 重复使用它们工作得很好在这个问题。 GDB是否对他们有再次倾倒到一个文件中输入接受的方法是什么?有时候在调试会话,就必须建立一套转折点的测试后,重新启动GDB。 编辑:的.gdbinit文件具有相同的问题,因为--command。该信息中断命令不会列出命令,而是供人食用的表。 要详细说明,这里是从信息休息的例子: (G ..
发布时间:2016-08-18 13:45:39 C/C++开发

小卵石上的手表记录枚举

在我小卵石上这样记录错误: 静态无效message_dropped(AppMessageResult原因,无效*上下文){ APP_LOG(APP_LOG_LEVEL_DEBUG,“消息下跌原因:%D”,原因); } 我刚刚收到错误消息的int值。是否有记录的枚举的文字一个简单的方法?这样的:静态无效message_dropped(AppMessageResult原因,无效*上下文){ ..
发布时间:2016-08-18 13:19:14 C/C++

addr2line内核模块

我想调试内核模块。我怀疑有没有一些内存泄漏。要检查它,我有prepared构建内核和模块启用内存泄漏调试。而我得到了一些来自警告: [11839.429168]在verify_redzone_free板错误():缓存大小'64':外界对象的内存被覆盖 [11839.438659]并[d c005575c]的计算值从(unwind_backtrace +为0x0 / 0x164)并[d c011 ..
发布时间:2016-08-18 12:52:25 C/C++

用C DEBUG宏++

我只是用C遇到了一个DEBUG宏,我真的很喜欢 #IFDEF DEBUG_BUILD #定义DEBUG(X)fprintf中(标准错误,X) #其他 #定义DEBUG(X)做{}而(0) #万一 我猜一个C ++模拟将是: - #IFDEF DEBUG_BUILD #定义DEBUG(x)的CERR<< X #其他 #定义DEBUG(X)做{}而(0) #万一 是第二c ..
发布时间:2016-08-18 12:47:42 C/C++开发

C语言程序设计:用pthread的调试

一个最难的事情对我来说,一开始适应是我第一次强烈的编程经验与我是用来了解什么code的下一行要运行将是C. Pthreads并且我的大部分调试技术围绕这种期望。 有什么好的技术在C pthread的调试?你能提出个人的方法没有任何附加工具,您使用的工具,或其他任何东西,可以帮助您进行调试。 P.S。我用在Linux GCC我的C语言编程,但不要让这必然抑制你的答案 解决方案 Valgr ..
发布时间:2016-08-18 12:47:28 C/C++

如何使回溯()/ backtrace_symbols()打印功能的名称?

Linux的具体回溯()和 backtrace_symbols()让你产生程序的调用跟踪。但是,它只能打印函数的地址,而不是他们的名字我的程序。我怎样才能让他们打印功能名称呢?我试着用编译 -g 程序以及 -ggdb 。测试用例下面只是打印这样的: 回溯------------ ./a.out()[0x8048616] ./a.out()[0x8048623] /lib/ ..
发布时间:2016-08-18 12:46:12 服务器开发