Debug
文章平均质量分 83
Augusdi
让时间验证一切,让时间验证我。感谢大家的无私帮助,我愿以同样的态度回馈我热情的朋友,用我们的热忱开创美好未来!
展开
-
GDB调试之strip
目录strip命令简介 GDB调试strip后的文件stri命令简介GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.简单来讲就是给文件脱衣服,包括可执行文件和动态库等。可使用file命令查看文件的属性,file + 文件名,会显示出是否被st转载 2021-07-17 08:29:38 · 973 阅读 · 0 评论 -
编码检查表-编写无错代码的指南
编码检查 表 总结 了《 Writing Clean Code 》的所有 观 点,教你 编 写整 洁 无 错 的代 码 。使用本表的最好 办 法是花两周 时间评审 一下你的 设计 和 编码实现 。先花几分 钟时间 看一看列表,一旦熟悉了 这 些 问题 ,就可以灵活自如地按它写代 码 了。此 时 ,就可以把表放在一 边 了。 一般问题 ── 你是否 为 程序建立了 DEBUG 版本? ── 你是否将原创 2013-02-19 09:57:04 · 1964 阅读 · 0 评论 -
Dependency Walker使用说明
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Win转载 2013-03-15 15:55:49 · 1720 阅读 · 0 评论 -
Visual Studio 2010调试技巧
原文:http://kb.cnblogs.com/page/92158/甚至一些很有经验的开发人员,都不知道这些技巧。希望这篇文章能帮你掌握这些技巧。它们都很简单,却能帮你节约大量的时间。 跳到当前光标处(Ctrl+F10) 我经常看到人们为了到达目标代码位置,而在程序中早早设定了断点,然后反复地按F10/F11,一步步走到目标代码处。当程序员的确需要仔细观察每一步的状态变化时, F10/F1转载 2013-09-23 14:27:35 · 7535 阅读 · 0 评论 -
Visual Studio如何调试?VS的调试技巧
调试是软件开发周期中很重要的一部分,对于稍大一点的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。IT技术网为你总结了可能节省你大量时间的十个visual studio的调试技巧和方法。 1 悬停鼠标查看表达式值 调试是很有挑战性的。比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等。。。 但是无论哪种情况下,查看表达式和局部变量的转载 2013-09-23 14:30:08 · 2865 阅读 · 0 评论 -
11个强大的Visual Studio调试小技巧
http://blog.csdn.net/JY_Sharer/article/details/10579283简介调试是软件开发周期中很重要的一部分。它具有挑战性,同时也很让人疑惑和烦恼。总的来说,对于稍大一点的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。这篇文章总结了可能节省你大量时间的 11 个 Visual studio 的调试技巧和方法。1 悬停鼠标转载 2013-09-23 16:20:12 · 2407 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:转载 2015-03-03 17:47:15 · 1341 阅读 · 0 评论 -
Valgrind简单用法
Valgrind简单用法 Valgrind的主要作者Julian Seward刚获得了今年的Google-O'Reilly开源大奖之一──Best Tool Maker。让我们一起来看一下他的作品。Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它包含一个内核──一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等。Valgrin转载 2015-03-03 17:35:12 · 1342 阅读 · 0 评论 -
使用valgrind检查内存问题
使用valgrind检查内存问题 本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。==============================================================================================转载 2015-03-03 17:45:23 · 1425 阅读 · 0 评论 -
玩转ptrace
转自:http://blog.csdn.net/silentvoid/article/details/1477439by Pradeep PadalaCreated 2002-11-01 02:00翻译: Magic.D E-mail: adamgic@163.com译者序:在开发Hust Online Judge的过程中,查阅了不少资料,关于调试器技术的资料在网上是很少,即便是UNIX编程巨转载 2015-04-05 20:47:33 · 1474 阅读 · 0 评论 -
Sun collect性能分析器
Sun Studio 12:性能分析器Previous: 收集数据Next: 使用 dbx collector 子命令收集数据使用 collect 命令收集数据要从命令行使用 collect 命令运行收集器,请键入以下内容。% collect collect-options program program-arguments其中,collect-options 是 collect 命令选项,转载 2015-04-11 23:26:22 · 2183 阅读 · 1 评论 -
SOFTICE之后继有人——Syser
双机内核调试总是有一些局限性,首先呢,速度不是那么的快,再者在虚拟机里面像需要DX支持的大型网络游戏一般式运行不起来的,而且Windbg运行起来总是那么古板。这些问题也就形成了单机内核调试器的存在空间。以前一直是不怎么使用SOFTICE,只是最近终于对Windbg厌烦了,转载 2011-09-20 10:39:18 · 5646 阅读 · 0 评论 -
fatal error C1010: unexpected end of file解决方案
<br />在编译VC++6.0是,出现<br />fatal error C1010: unexpected end of file while looking for precompiled header directive<br /><br />问题详细解释:<br />致命错误C1010,在寻找预编译指示头文件时,文件未预期结束。就是没有找到预编译指示信息的头文件。<br /><br />问题一般发生在:<br />通过添加文件的方式,添加了一些cpp文件到一个MFC的程序,但该cpp文件并不是MF转载 2010-07-01 14:06:00 · 2983 阅读 · 1 评论 -
OllyDBG 入门系列(二)-字串参考
<br />OllyDBG 入门系列(二)-字串参考<br /><br />作者:CCDebuger<br /><br />上一篇是使用入门,现在我们开始正式进入破解。今天的目标程序是看雪兄《加密与解密》第一版附带光盘中的 crackmes.cjb.net 镜像打包中的 CFF Crackme #3,采用用户名/序列号保护方式。原版加了个 UPX 的壳。刚开始学破解先不涉及壳的问题,我们主要是熟悉用 OllyDBG 来破解的一般方法。我这里把壳脱掉来分析,附件是脱壳后的文件,直接就可以拿来用。先说一下一般软转载 2010-06-26 23:51:00 · 1709 阅读 · 0 评论 -
OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
<br />OllyDBG 入门系列(五)-消息断点及 RUN 跟踪<br /><br />作者:CCDebuger<br /><br />找了几十个不同语言编写的 crackme,发现只用消息断点的话有很多并不能真正到达我们要找的关键位置,想想还是把消息断点和 RUN 跟踪结合在一起讲,更有效一点。关于消息断点的更多内容大家可以参考 jingulong 兄的那篇《几种典型程序Button处理代码的定位》的文章,堪称经典之作。今天仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 cycle转载 2010-06-26 23:55:00 · 1622 阅读 · 0 评论 -
汇编
汇编简介<br /> 汇编语言(Assembly Language)是面向机器的程序设计语言。<br /> 汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。<br /> 用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。汇编程序把汇编语言翻译成机器语言的过程转载 2010-06-26 23:58:00 · 2490 阅读 · 0 评论 -
内存泄露检测方法
<br />检测内存泄露的方法:<br />C++中检测内存泄漏可以引入系统定义的宏来查看,内存在哪个位置泄漏<br /><br />文件开始处加入下列定义<br />#define _CRTDBG_MAP_ALLOC<br />#include <stdlib.h><br />#include <crtdbg.h><br /><br />程序退出时加入以下函数:<br /><br />_CrtDumpMemoryLeaks();<br />使用环境:VS2003<br />如果在系统中出现了内存泄露,在输转载 2010-06-28 14:55:00 · 1961 阅读 · 0 评论 -
汇编常用知识整理
<br />从汇编分析Win32消息原理 <br />http://coderarea.net/html/bianchengyuyan/huibianyuyan/huibianyingyong/2009/0316/74531.html<br /><br />用汇编写特殊要求的strlen <br />http://coderarea.net/html/bianchengyuyan/huibianyuyan/huibianyingyong/2009/0316/74530.html<br /><br />805转载 2010-06-26 23:57:00 · 2010 阅读 · 0 评论 -
OllyDBG 入门系列(四)-内存断点
<br />OllyDBG 入门系列(四)-内存断点<br /><br />作者:CCDebuger<br /><br />还记得上一篇《OllyDBG 入门系列(三)-函数参考》中的内容吗?在那篇文章中我们分析后发现一个 ESI 寄存器值不知是从什么地方产生的,要弄清这个问题必须要找到生成这个 ESI 值的计算部分。今天我们的任务就是使用 OllyDBG 的内存断点功能找到这个地方,搞清楚这个值是如何算出来的。这次分析的目标程序还是上一篇的那个 crackme,附件我就不再上传了,用上篇中的附件就可以了。转载 2010-06-26 23:54:00 · 1682 阅读 · 0 评论 -
黑客书架上出现频率最高的9部半书籍
<br />每一位黑客都需要一个坚实的图书馆来寻找灵感以及查找参考资料。这儿的列表能给你一些你想要的东西,里面既有计算机科学的顶级大学教材,也有对业界的真知灼见,还有你不可或缺的参考书籍。它囊括了黑客的经典著作。 <br /><br />人月神话:软件工程评述-周年版<br /><br />Fredrick P. Brooks著 <br /><br />这本论述软件工程中人的因素的经典著作出版于1975年。这些年来,技术已经发生了很大的变化,但是人的因素还是和原来一样让人头痛。这是一本有深刻洞察力的书籍,也转载 2010-06-26 23:59:00 · 6183 阅读 · 10 评论 -
OllyDBG 入门系列(三)-函数参考
<br />OllyDBG 入门系列(三)-函数参考<br /><br />作者:CCDebuger<br /><br />现在进入第三篇,这一篇我们重点讲解怎样使用 OllyDBG 中的函数参考(即名称参考)功能。仍然选择 crackmes.cjb.net 镜像打包中的一个名称为 CrackHead 的crackme。老规矩,先运行一下这个程序看看:<br /><br />呵,竟然没找到输入注册码的地方!别急,我们点一下程序上的那个菜单“Shit”(真是 Shit 啊,呵呵),在下拉菜单中选“Try It转载 2010-06-26 23:53:00 · 1494 阅读 · 0 评论 -
VC++发生的错误信息 unresolved external symbol _WinMain
<br /> 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 <br /> 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: <br />unresolved external symbol “symbol”(不确定的外转载 2010-07-01 10:46:00 · 1981 阅读 · 0 评论 -
如何删除runauto..病毒
<br />现象: <br />l 计算机的盘符根目录中发现名为runauto..的一个隐藏文件夹,在安全模式下也无法删除,用AUTO专杀工具无法查找到。 <br />l 打开“运行”,敲入cmd、regedit、regedit32、msconfig均无法找到该程序,并提示“windows 找不到文件‘***’,请确定文件名是否正确后再试一次。”但system32中存在cmd.exe,regedit.exe,regedit32.exe文件,但执行时报找不到该程序错误。 <br />l 任务管理器的进程列表里转载 2010-07-01 11:31:00 · 1656 阅读 · 1 评论 -
OllyDBG 入门系列(一)-认识OllyDBG
<br />OllyDBG 入门系列(一)-认识OllyDBG<br /><br />作者:CCDebuger<br />http://bbs.pediy.com/<br /><br />一、OllyDBG 的安装与配置<br /><br />OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:<br /><br />OllyDBG 中各个窗转载 2010-06-26 23:23:00 · 1889 阅读 · 0 评论