我知道如何在gdb中执行此操作。我会附上,然后跟着:
break myfunction
commands
return
cont
end
cont
我想知道在c中是否有办法做到这一点?我已经将代码用于读取内存地址和写入内存地址。它会自动找到pid并执行相关操作。我一直坚持使用断点。
答案 0 :(得分:0)
如果您正在谈论某种手写调试器,您可以使用IP值来设置断点;从字面上看,当IP达到某个特定值时,您将停止正在调试的程序并执行一些例程(例如,转向调试程序进程)。要使用函数名,您应该像使用GDB一样使用符号表。
答案 1 :(得分:0)
目前还不太清楚你想要实现的目标。
您展示的GDB序列只会让myfunction
立即返回。
假设您希望mini-debugger
具有相同的效果,只需将ret
(x86上为0xC3
)的操作码写入myfunction
的地址;根本不需要断点。