【发布时间】:2011-04-10 00:33:35
【问题描述】:
我知道如何在 gdb 中执行此操作。我会附上,然后:
break myfunction
commands
return
cont
end
cont
我想知道是否有办法在 c 中做到这一点?我的代码已经用于读取内存地址和写入内存地址。它会自动找到 pid 并执行相关操作。我坚持使用断点。
【问题讨论】:
标签: objective-c c memory process gdb
我知道如何在 gdb 中执行此操作。我会附上,然后:
break myfunction
commands
return
cont
end
cont
我想知道是否有办法在 c 中做到这一点?我的代码已经用于读取内存地址和写入内存地址。它会自动找到 pid 并执行相关操作。我坚持使用断点。
【问题讨论】:
标签: objective-c c memory process gdb
如果您在谈论某种手写调试器,您可以使用 IP 值设置断点;从字面上看,当 IP 达到某个特定值时,您会停止正在调试的程序并执行一些例程(例如,前往调试器进程)。要使用函数名,您应该像在 GDB 中那样使用符号表。
【讨论】:
不太清楚您要达到的目标。
您展示的 GDB 序列只会让 myfunction 立即返回。
假设您希望您的mini-debugger 具有相同的效果,只需将ret(x86 上的0xC3)的操作码写入myfunction 的地址即可;根本不需要做断点。
【讨论】: