@@ -179,24 +179,44 @@ void CPUInfoBox::disasmSelectionChanged(dsint parVA)
179
179
}
180
180
if (getInfoLine (0 ) == getInfoLine (1 )) // check for duplicate info line
181
181
setInfoLine (1 , " " );
182
- // set last line
182
+
183
+ // Set last line
184
+ //
185
+ // Format: SECTION:VA MODULE+RVA FILE_OFFSET FUNCTION
183
186
QString info;
184
- char mod[MAX_MODULE_SIZE] = " " ;
187
+
188
+ // Section
189
+ char section[MAX_SECTION_SIZE];
190
+ if (DbgFunctions ()->SectionFromAddr (parVA, section))
191
+ info += QString (section) + " :" ;
192
+
193
+ // VA
194
+ info += AddressToString (parVA) + " " ;
195
+
196
+ // Module name, RVA, and file offset
197
+ char mod[MAX_MODULE_SIZE];
185
198
if (DbgFunctions ()->ModNameFromAddr (parVA, mod, true ))
186
199
{
187
200
dsint modbase = DbgFunctions ()->ModBaseFromAddr (parVA);
201
+
202
+ // Append modname
203
+ info += mod;
204
+
188
205
if (modbase)
189
- info = QString (mod) + " [" + QString (" %1" ).arg (parVA - modbase, 0 , 16 , QChar (' 0' )).toUpper () + " ] | " ;
190
- else
191
- info = QString (mod) + " | " ;
206
+ info += " :" + QString (" %1" ).arg (parVA - modbase, 0 , 16 , QChar (' 0' )).toUpper ();
207
+
208
+ // Append space afterwards
209
+ info += " " ;
210
+
211
+ // File offset
212
+ info += QString (" %1" ).arg (DbgFunctions ()->VaToFileOffset (parVA), 0 , 16 , QChar (' 0' )).toUpper () + " " ;
192
213
}
193
- char section[MAX_SECTION_SIZE] = " " ;
194
- if (DbgFunctions ()->SectionFromAddr (parVA, section))
195
- info += " \" " + QString (section) + " \" :" ;
196
- info += AddressToString (parVA);
197
- char label[MAX_LABEL_SIZE] = " " ;
214
+
215
+ // Function/label name
216
+ char label[MAX_LABEL_SIZE];
198
217
if (DbgGetLabelAt (parVA, SEG_DEFAULT, label))
199
- info += " <" + QString (label) + " >" ;
218
+ info += " <" + QString (label) + " >" ;
219
+
200
220
setInfoLine (2 , info);
201
221
}
202
222
0 commit comments