sEMU
载入中...
搜索中...
未找到
sdb.hpp
浏览该文件的文档.
1#pragma once
2#include <vector>
3#include <string>
4#include <cstdint>
5
6class Core;
7class guest_mem;
8class ElfLoader;
9
16class SDB {
17public:
24 SDB(Core* core, guest_mem* mem, ElfLoader* loader = nullptr);
25
29 ~SDB();
30
34 void sdb_mainloop();
35
36private:
40
41 // 调试命令处理函数族
42 void cmd_c(const std::vector<std::string>& args);
43 void cmd_q(const std::vector<std::string>& args);
44 void cmd_si(const std::vector<std::string>& args);
45 void cmd_info(const std::vector<std::string>& args);
46 void cmd_x(const std::vector<std::string>& args);
47 void cmd_trace_func(const std::vector<std::string>& args);
48 void cmd_help(const std::vector<std::string>& args);
49
50 // 单步执行 (cmd_si) 的子模式处理函数
56 uint64_t exec_si_bare(uint64_t steps);
57
63 uint64_t exec_si_trace(uint64_t steps);
64
70 uint64_t exec_si_diff(uint64_t steps);
71};
处理器核心仿真封装类
定义 core.hpp:28
Parses and extracts ELF executable mapping tables directly onto memory arrays.
定义 elf_loader.hpp:15
~SDB()
销毁调试器实例并释放相关资源
定义 sdb.cpp:20
void cmd_help(const std::vector< std::string > &args)
打印帮助信息命令 (help)
定义 sdb.cpp:377
SDB(Core *core, guest_mem *mem, ElfLoader *loader=nullptr)
初始化调试器系统
定义 sdb.cpp:17
guest_mem * mem
定义 sdb.hpp:38
void cmd_x(const std::vector< std::string > &args)
扫描内存命令 (examine)
定义 sdb.cpp:251
uint64_t exec_si_trace(uint64_t steps)
追踪单步执行模式 (带访存与寄存器打印)
定义 sdb.cpp:68
void cmd_c(const std::vector< std::string > &args)
继续执行命令 (continue)
定义 sdb.cpp:32
ElfLoader * elf_loader
定义 sdb.hpp:39
void cmd_trace_func(const std::vector< std::string > &args)
跟踪函数调用命令 (尚未实现)
定义 sdb.cpp:344
void cmd_si(const std::vector< std::string > &args)
单步执行命令 (step instruction)
定义 sdb.cpp:187
void cmd_q(const std::vector< std::string > &args)
退出仿真器命令 (quit)
定义 sdb.cpp:45
uint64_t exec_si_bare(uint64_t steps)
裸机单步执行模式
定义 sdb.cpp:53
void sdb_mainloop()
启动 REPL (读取-求值-打印循环) 交互式主循环,捕获指令并执行调试命令
定义 sdb.cpp:388
void cmd_info(const std::vector< std::string > &args)
打印程序状态信息命令 (info)
定义 sdb.cpp:224
Core * core
定义 sdb.hpp:37
uint64_t exec_si_diff(uint64_t steps)
差分测试单步执行模式 (与参考模拟器进行状态比对)
定义 sdb.cpp:97
内存子系统抽象层 (Guest Memory Subsystem)
定义 mem.hpp:29