debugging相关内容

动态code分析任何引用?

昨天我在阅读有关调试技​​术,发现Valgrind的是真的很有趣。看来使用从动态code分析技术。我跟着从原来的基准东西的链接别的称为路径剖析 我试过谷歌搜索,但我想我使用了错误的术语来搜索这些概念的一个很好的参考。有人建议可以一个很好的资源同时考虑到我没有在编译器和编程语言背景的帐户? 解决方案 路径剖析有趣的是,作为一个理论问题。 gprof的也很有趣,因为它在调用图,周期性子图,这 ..
发布时间:2016-08-17 23:23:15 C/C++

确定C code,它会导致分段错误的行?

我们如何确定这个错误是我们code,导致分段错误? 写一些code后,决定在那里我有一个分段错误,可以的gcc显示我有一个错误(或输入错误)在一个特定的行号 - 因为该行造成分段错误 解决方案 GCC不能做到这一点,但肯定GDB可以。编译你的程序中使用 -g 开关,像这样的: GCC program.c -g 然后使用gdb的: $ GDB ./a.out (GDB)运行 &LT ..
发布时间:2016-08-17 23:06:03 C/C++

C程序怎么能产生自身的核心转储而不会终止?

我想一个C程序在某些情况下产生核心转储。这是在生产环境中运行,并且不容易停止和重新启动,调整等各类调试code计划。此外,由于它是在生产环境中,我不想调用中止()。所调查的问题是不容易在非生产环境中复制。我想是程序,当它检测到某些问题,以pferably自己产生,$ P $核心转储具有足够的信息来重命名文件,然后再继续。 解决方案 无效create_dump(无效) { 如果(!叉()){ ..
发布时间:2016-08-17 22:19:03 C/C++

蟒蛇跟踪分割故障

我正在开发的C扩展Python的广告我得到了一些设计缺陷(在开发过程中不可避免的...)。 我在寻找一种方式来显示它在$ C $的C线的段错误发生(的想法就像是跟踪code的每一行),我该怎么做呢? 解决方案 下面是一个方式来输出的Python的每一行的code运行的文件名和行号: 进口SYSDEF跟踪(帧,事件,ARG): 打印“%S%S:%D”%(事件,frame.f_ c ..
发布时间:2016-08-17 22:17:43 Python

如何打印在gdb的长字符串的全部价值?

我要打印在GDB的C字符串的全长。默认情况下它被缩写,如何强制GDB打印整个字符串? 解决方案 设置打印元素0 从GDB手册: 设置打印元素 若干元素的- 设置GDB将有多少数组元素打印的限制。如果GDB在打印大阵,它停止打印已印制了设置打印元素命令设置元素的数量后。此限制也适用于字符串的显示。当GDB启动时,这个限制设置为200的设置若干元素的-零意味着印刷是无限。 ..
发布时间:2016-08-17 22:12:32 C/C++开发

自动添加进入/退出功能记录到项目

我有一个第三方源$ C ​​$ C,我要调查。我希望看到什么样的顺序函数调用,但我不想浪费我的时间打字: 的printf(“订立%S”,__FUNCTION__) 和的printf(“%s的已退出”,__FUNCTION__) 每个功能,也不想接触任何源文件。 你有什么建议吗?是否有自动地做到这一点对我来说是编译器标志? 澄清的评论: 我会交叉编译源在ARM上运行。 我会用gcc编译。 ..
发布时间:2016-08-17 21:37:58 C/C++开发

如何显示Visual Studio调试器动态分配的数组?

如果你有一个静态分配的数组,Visual Studio调试器可以很容易地显示所有的数组元素。不过,如果你有一个数组动态分配并通过指针指向,只会当你点击+展开它显示阵列的第一个元素。有没有一种简单的方法来告诉调试器,显示此数据类型Foo和大小为X?的数组 解决方案 是的,很简单。 说你有 的char * A =新的char [10]; 写作中的调试器: A,10 会告诉你的内容就 ..
发布时间:2016-08-17 21:34:22 C/C++开发

_DEBUG VS NDEBUG

其中preprocessor定义应该使用指定code的调试节? 使用的#ifdef _DEBUG 或的#ifndef NDEBUG 或是否有更好的方式来做到这一点,例如的#define MY_DEBUG ? 我觉得 _DEBUG 是Visual Studio的具体,是NDEBUG标准? 解决方案 Visual Studio中定义 _DEBUG 当您指定 / MTD 或 / MDD 选项 ..
发布时间:2016-08-17 20:43:45 C/C++开发

是否有可能修改的char在C字符串?

我一直在挣扎了几个小时与指针各种ç教程和书籍,但我真正想知道的是,如果有可能,一旦它被创建更改字符指针。 这是我曾尝试: 的char * A =“这是一个字符串”; 字符* B =“新建字符串”;一个[2] = B [1]; //导致段故障* B [2] = B [1]; //这似乎像它会工作,但编译器会引发错误。 那么,有没有办法改变字符串里面的值,而不是指针地址? 感谢 编辑: 谢谢大 ..
发布时间:2016-08-17 20:31:24 C/C++

我怎么看后在Visual Studio preprocessing一个C / C ++源文件?

让我们说我有许多preprocessor指令源文件。是否有可能看到它的外观了preprocessor用它做后? 解决方案 cl.exe时,命令行界面到Microsoft Visual C ++,具有输出的三个不同的选项preprocessed文件(因此有关Visual C中的previous回应++的不一致性): / E : preprocess到stdout (类似于GCC的-E选 ..
发布时间:2016-08-17 20:26:08 C/C++开发

是否有一个良好的替代品Valgrind的为Windows?

我一直在寻找到Valgrind的,有助于提高我的C编码/调试时,我发现这是仅适用于Linux - 我在我的操作系统转向Linux,所以我想知道是否有同样好的方案没有其他的需要或兴趣Windows操作系统。 解决方案 由于jakobengblom2指出,有Valgrind的工具套装。根据哪一个你正在谈论有不同的窗口柜台的部分。我只提OSS或点击这里免费工具。 1。 MEMCHECK: 博 ..
发布时间:2016-08-17 20:20:58 C/C++

在版本如何构建一个项目在调试有出入?

在Visual Studio或任何其他IDE,通常有两种生成配置,调试和发布? 怎样的不同?为什么有时候你必须建立在调试模式下编译错误,而不是当在Release模式,反之亦然? 解决方案 编译调试符号和允许你“看到”您的code运行时。它也确实变量初始化一些在bug跟踪过程中提供帮助。 推出一般优化,并且不产生调试数据 通常,当你编译两者之间切换的问题,它涉及到硬codeD路径文件夹 ..
发布时间:2016-08-16 13:42:27 开发过程

在2015年VS ASP.NET 5 - 无法建立或调试解决方案

我开发一个ASP.NET MVC 5 6解决方案。 不幸的是我不记得发生了什么事,但我发现一个奇怪的问题,即IDE不生成解决方案。 当我按控制 + 移 + 乙下面一行出现在输出控制台: 1> ------启动生成:项目:其中,我的项目名称>中配置:调试任何CPU ------ 但没有实际发生,我无法接近解决方案,直到我preSS 控制 + 将取消构建。 我注意到然而,一些奇 ..

OpenSSL的构建在Linux上使用-g进行调试

我从OpenSSL的到来段错误(具体 SSL_read ),我想调试。我想在这里把最好的步骤就是对自己使用调试符号生成库这样我就可以步入函数,看看它的发生的命令。这不是我清楚如何将)建立自己的图书馆和b)黑客makefile文件给我调试符号。有没有人有经验,用这个特定的库这样做,或者对这种构建的一般准则和修改的方法呢? 得到这个错误: ./配置-d 操作系统:x86_64的 - 无论-将li ..
发布时间:2016-08-16 13:35:41 开发过程

微小的"手动"创建ELF赋予段错误

从的移植可执行的和Windows产品,我想创建一个小的 ELF 可执行文件的 NASM 的中的的Linux(Ubuntu的AMD64) 的。我的小件code看起来是这样的: 位64 ;其中的可执行文件链接默认的虚拟地址 _START_VAD EQU为0x400000;在这里,我通过写字节的头字节 ELF_HEADER: .ident_magic DB 0x7F的,“ELF” .i ..
发布时间:2016-08-16 13:29:09 服务器开发

为什么网站项目不具有配置发布模式?

我目前在网站项目工作。我想在的发布模式来构建项目,不幸看到的Visual Studio不具备的发布模式构建和只有调试模式。 在 Web应用程序项目:我们看到在建两个选项的调试和发布 我想知道为什么网站项目在build.I调试模式下读取有关调试和发布模式的建筑,发布模式有优化code 并有开销少 解决方案 您需要通过右键单击解决方案来发布meod>属性>对话框中改变它释放模式或照片直接从 ..
发布时间:2016-08-16 13:27:17 C#/.NET

如何prevent Visual Studio中进行编译后的解决方案我退出调试模式?

Visual Studio中建立,当我退出调试模式的整套解决方案。 这是很烦人的解决方案包含42个项目(ASP.NET MVC,IIS托管WCF,Silverlight应用程序等)和生成过程锁Visual Studio中aprox的。 30秒。 是什么原因导致的Visual Studio做一个完全重建的解决方案呢?有没有办法,我可以打开,以确定问题的根源设置? 解决方案 我有同样的问题 ..
发布时间:2016-08-16 13:15:11 开发过程