![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译调试
Mnnk
这个作者很懒,什么都没留下…
展开
-
Windows下安装GDB
1.去官网下载gdb.7.8.tar.gz。2.下载安装msys。3.打开MSYS,输入 tar zxvf gdb7.8.tar.gz4.打开MSYS,进入到刚解压出来的目录,输入./configure && make 编译最后gdb.exe就在gdb-7.8/gdb文件加中,搜索一下就可以找到复制到min转载 2017-09-23 18:42:38 · 2428 阅读 · 0 评论 -
调试器工作原理(1):基础篇
本文是一系列探究调试器工作原理的文章的第一篇。我还不确定这个系列需要包括多少篇文章以及它们所涵盖的主题,但我打算从基础知识开始说起。关于本文我打算在这篇文章中介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧密相关的,但移植到别的平台上应该不会太难。动机要想理解转载 2017-10-08 01:17:06 · 240 阅读 · 0 评论 -
调试器工作原理(2):实现断点
本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程的知识,但断点机制仍然还是个迷。阅读完本文之后,这将不再是什么秘密了。转载 2017-10-08 01:20:02 · 335 阅读 · 0 评论 -
调试器工作原理(3):调试信息
本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能够将源代码中漂亮的缩进、嵌套的控制结构以及任意类型的变量全都转化为一长串的比特转载 2017-10-08 01:21:59 · 267 阅读 · 0 评论 -
调试器
原贴地址:http://www.cnblogs.com/bRAyKpoyNt/p/3855694.html手写一个调试器有助于我们理解hook、进程注入等底层黑客技术具体实现,在编写过程中需要涉及大量Windows内核编程知识,因此手写调试器也可以作为启发式学习内核编程的任务驱动。(本文中代码大量参考《Gray hat python》(Python灰帽子),此书中详细讲解了转载 2017-10-08 02:13:42 · 455 阅读 · 0 评论