调试器寄存器操作与软件断点实现
1. 寄存器写入操作
在进行寄存器写入时,我们需要编写一个小型解析器。以下是具体的实现步骤:
- 编写 handle_register_write 函数 :该函数位于 sdb/tools/sdb.cpp 中,用于处理寄存器写入操作。
namespace {
void handle_register_write(
sdb::process& process,
const std::vector<std::string>& args) {
if (args.size() != 4) {
print_help({ "help", "register" });
return;
}
try {
auto info = sdb::register_info_by_name(args[2]);
auto value = parse_register_value(info, args[3]);
process.get_registers().write(info, value);
}
catch (sdb::error& err) {
std::cerr << err.what() << '\n';
return;
}
}
}
此函数首先检查用户提供的参
超级会员免费看
订阅专栏 解锁全文
995

被折叠的 条评论
为什么被折叠?



