mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-10 08:51:28 +12:00
Log a snippet of guest thread code at crash
This commit is contained in:
parent
1d51f3af0c
commit
6783bcd273
3 changed files with 36 additions and 5 deletions
|
@ -50,6 +50,17 @@ extern bool is_using_interpreter(u32 id_type)
|
|||
}
|
||||
}
|
||||
|
||||
extern std::shared_ptr<CPUDisAsm> make_disasm(const cpu_thread* cpu)
|
||||
{
|
||||
switch (cpu->id_type())
|
||||
{
|
||||
case 1: return std::make_shared<PPUDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr);
|
||||
case 2: return std::make_shared<SPUDisAsm>(cpu_disasm_mode::interpreter, static_cast<const spu_thread*>(cpu)->ls);
|
||||
case 0x55: return std::make_shared<RSXDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr, 0, cpu);
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
debugger_frame::debugger_frame(std::shared_ptr<gui_settings> gui_settings, QWidget *parent)
|
||||
: custom_dock_widget(tr("Debugger"), parent)
|
||||
, m_gui_settings(std::move(gui_settings))
|
||||
|
@ -895,7 +906,7 @@ void debugger_frame::OnSelectUnit()
|
|||
|
||||
if (selected == m_cpu.get())
|
||||
{
|
||||
m_disasm = std::make_shared<PPUDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr);
|
||||
m_disasm = make_disasm(selected);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -911,7 +922,7 @@ void debugger_frame::OnSelectUnit()
|
|||
|
||||
if (selected == m_cpu.get())
|
||||
{
|
||||
m_disasm = std::make_shared<SPUDisAsm>(cpu_disasm_mode::interpreter, static_cast<const spu_thread*>(m_cpu.get())->ls);
|
||||
m_disasm = make_disasm(selected);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -927,7 +938,7 @@ void debugger_frame::OnSelectUnit()
|
|||
|
||||
if (get_cpu())
|
||||
{
|
||||
m_disasm = std::make_shared<RSXDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr, 0, m_rsx);
|
||||
m_disasm = make_disasm(m_rsx);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue