breakpoints; thread/frame selection that should work; TODO: is slow
This commit is contained in:
@@ -37,6 +37,7 @@ namespace dbgui::backend
|
||||
struct Frame
|
||||
{
|
||||
uint64_t ip;
|
||||
size_t lldb_idx;
|
||||
std::string display_name;
|
||||
};
|
||||
|
||||
@@ -52,8 +53,8 @@ namespace dbgui::backend
|
||||
|
||||
void start() override;
|
||||
|
||||
bool step_into() override;
|
||||
bool step_over() override;
|
||||
bool step_into(bool source_step) override;
|
||||
bool step_over(bool source_step) override;
|
||||
bool step_out() override;
|
||||
|
||||
void cont() override;
|
||||
@@ -63,8 +64,12 @@ namespace dbgui::backend
|
||||
void remove_data_node(uint64_t id) override;
|
||||
|
||||
void add_breakpoint(uint64_t addr, size_t id) override;
|
||||
bool add_breakpoint(const char *file, uint32_t line, size_t id) override;
|
||||
void remove_breakpoint(size_t id) override;
|
||||
|
||||
void select_thread(uint16_t idx);
|
||||
void select_frame(uint16_t idx);
|
||||
|
||||
private:
|
||||
void run_msg_loop();
|
||||
void wait_for_debug_events();
|
||||
@@ -95,6 +100,7 @@ namespace dbgui::backend
|
||||
std::vector<Thread> _threads = {};
|
||||
std::vector<Frame> _frames = {};
|
||||
uint16_t _selected_frame = 0;
|
||||
uint16_t _selected_thread = 0;
|
||||
|
||||
util::DAG _data_dag = {};
|
||||
std::vector<data::DataNode> _data_nodes = {};
|
||||
|
||||
Reference in New Issue
Block a user