1
0
Fork 0

GUI+DBG: resolved issue #98 (REGISTER strings / labels only on CIP)

This commit is contained in:
Mr. eXoDia 2014-08-02 00:06:28 +02:00
parent f6c1cae989
commit 958394cffd
4 changed files with 41 additions and 5 deletions

View File

@ -16,6 +16,8 @@
#include "plugin_loader.h"
#include "_dbgfunctions.h"
static bool bOnlyCipAutoComments = false;
extern "C" DLL_EXPORT duint _dbg_memfindbaseaddr(duint addr, duint* size)
{
return memfindbaseaddr(addr, size);
@ -166,7 +168,7 @@ extern "C" DLL_EXPORT bool _dbg_addrinfoget(duint addr, SEGMENTREG segment, ADDR
sprintf(addrinfo->comment, "%s:%u", filename+len, line.LineNumber);
retval=true;
}
else //no line number
else if(!bOnlyCipAutoComments || addr == GetContextDataEx(hActiveThread, UE_CIP)) //no line number
{
DISASM_INSTR instr;
std::string temp_string;
@ -712,6 +714,13 @@ extern "C" DLL_EXPORT uint _dbg_sendmessage(DBGMSG type, void* param1, void* par
entry=strtok(0, ",");
}
}
if(BridgeSettingGetUint("Disassembler", "OnlyCipAutoComments", &setting))
{
if(setting)
bOnlyCipAutoComments = true;
else
bOnlyCipAutoComments = false;
}
}
break;

View File

@ -53,6 +53,7 @@ void SettingsDialog::LoadSettings()
settings.disasmArgumentSpaces=false;
settings.disasmMemorySpaces=false;
settings.disasmUppercase=false;
settings.disasmOnlyCipAutoComments=false;
//Events tab
GetSettingBool("Events", "SystemBreakpoint", &settings.eventSystemBreakpoint);
@ -148,9 +149,11 @@ void SettingsDialog::LoadSettings()
GetSettingBool("Disassembler", "ArgumentSpaces", &settings.disasmArgumentSpaces);
GetSettingBool("Disassembler", "MemorySpaces", &settings.disasmMemorySpaces);
GetSettingBool("Disassembler", "Uppercase", &settings.disasmUppercase);
GetSettingBool("Disassembler", "OnlyCipAutoComments", &settings.disasmOnlyCipAutoComments);
ui->chkArgumentSpaces->setChecked(settings.disasmArgumentSpaces);
ui->chkMemorySpaces->setChecked(settings.disasmMemorySpaces);
ui->chkUppercase->setChecked(settings.disasmUppercase);
ui->chkOnlyCipAutoComments->setChecked(settings.disasmOnlyCipAutoComments);
}
void SettingsDialog::SaveSettings()
@ -187,6 +190,7 @@ void SettingsDialog::SaveSettings()
BridgeSettingSetUint("Disassembler", "ArgumentSpaces", settings.disasmArgumentSpaces);
BridgeSettingSetUint("Disassembler", "MemorySpaces", settings.disasmMemorySpaces);
BridgeSettingSetUint("Disassembler", "Uppercase", settings.disasmUppercase);
BridgeSettingSetUint("Disassembler", "OnlyCipAutoComments", settings.disasmOnlyCipAutoComments);
Config()->load();
DbgSettingsUpdated();
@ -418,3 +422,11 @@ void SettingsDialog::on_chkUppercase_stateChanged(int arg1)
else
settings.disasmUppercase=true;
}
void SettingsDialog::on_chkOnlyCipAutoComments_stateChanged(int arg1)
{
if(arg1==Qt::Unchecked)
settings.disasmOnlyCipAutoComments=false;
else
settings.disasmOnlyCipAutoComments=true;
}

View File

@ -53,6 +53,7 @@ private slots:
void on_chkArgumentSpaces_stateChanged(int arg1);
void on_chkMemorySpaces_stateChanged(int arg1);
void on_chkUppercase_stateChanged(int arg1);
void on_chkOnlyCipAutoComments_stateChanged(int arg1);
private:
//enums
@ -108,6 +109,7 @@ private:
bool disasmArgumentSpaces;
bool disasmMemorySpaces;
bool disasmUppercase;
bool disasmOnlyCipAutoComments;
};
//variables

View File

@ -39,7 +39,7 @@
<bool>true</bool>
</property>
<property name="currentIndex">
<number>2</number>
<number>0</number>
</property>
<widget class="QWidget" name="tabEvents">
<attribute name="title">
@ -399,7 +399,7 @@
<rect>
<x>10</x>
<y>10</y>
<width>131</width>
<width>241</width>
<height>17</height>
</rect>
</property>
@ -412,7 +412,7 @@
<rect>
<x>10</x>
<y>30</y>
<width>131</width>
<width>241</width>
<height>17</height>
</rect>
</property>
@ -425,7 +425,7 @@
<rect>
<x>10</x>
<y>50</y>
<width>131</width>
<width>241</width>
<height>17</height>
</rect>
</property>
@ -433,6 +433,19 @@
<string>Uppercase</string>
</property>
</widget>
<widget class="QCheckBox" name="chkOnlyCipAutoComments">
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<width>241</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Autocomments only on CIP</string>
</property>
</widget>
</widget>
</widget>
<widget class="QPushButton" name="btnSave">