linux中有没有类似windows里的debug命令的功能?

子谋 2012-02-11 09:31:23
今天突然发现windows的cmd中debug命令简直就是一个神器……
除了调试以外,还能
1、随意访问进程地址空间
2、随意修改进程地址空间(只读的还是改不了)
3、可以在debug中直接写汇编代码,自己指定代码的存放地址,就像写脚本一样
4、因为是设备统一编址,所以还可以访问bios的rom,以及直接修改显存
简直就是强大的一塌糊涂……

本以为强大的linux也有类似的工具,不过找了好久都没有找到类似的工具,不知道论坛的大牛们有没有好的方法能实现以上的4个功能……
本以为gdb可以办到,而实际上gdb也半不到:
比如:在gdb中输入:x/10xb 0x0,结果显示:cannot access memory at address 0x0,好像是系统不允许访问0地址空间,但是windows的debug却表示根本无压力……
...全文
628 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yh_no_code 2012-04-23
  • 打赏
  • 举报
回复
看一楼,那个是V86模式。
moon_cat 2012-04-22
  • 打赏
  • 举报
回复
GDB 么,直接layout asm,或者bochs 也行的,你说的全在里面,GDB很强大!
myjiaqin 2012-04-22
  • 打赏
  • 举报
回复
f.u.c.k GDB比DEBUG强大得多啊……
nehc 2012-04-22
  • 打赏
  • 举报
回复
Windows 那是个模拟器吧 ...
Liv2005 2012-02-13
  • 打赏
  • 举报
回复
http://www.ibm.com/developerworks/cn/linux/l-kdbug/index.html

Linux内核调试器 KDB
Wenxy1 2012-02-12
  • 打赏
  • 举报
回复
用jtag仿真器吧,可以访问任意“虚拟地址”。
Lactoferrin 2012-02-12
  • 打赏
  • 举报
回复
windows的cmd中debug命令是在ntvdm中运行的,是个虚拟的环境
你试试把中断向量表清空windows是否会崩溃

linux中用gdb
ymy1248227142 2012-02-12
  • 打赏
  • 举报
回复
GDB怎么样呢?
jackyjkchen 2012-02-11
  • 打赏
  • 举报
回复
你以为windows的debug为什么能这么“随意”,就是因为他是16位工具,16位下是没有内存保护的,当然可以随意访问(当然32位windows里跑16位程序,是有个内置的虚拟机的,所以不会影响系统,16位windows就有可能搞崩系统)

Windows NT和Linux都是保护模式操作系统,16位debug这样的“神器”不会有

不过Windows和Linux都有内核级的调试器,当进入内核级后,有没有内存保护了,可以任意访问,当然也可能搞崩系统

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧