From: Jean-Paul Mari Date: Sat, 17 Apr 2021 09:29:06 +0000 (-0400) Subject: Added a #line in the call stack browser window X-Git-Tag: v2.1.3-R5^2~15 X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/commitdiff_plain/418240cdb762049b37e35b653a472784cf920418 Added a #line in the call stack browser window --- diff --git a/docs/vj_HistoryNotes.txt b/docs/vj_HistoryNotes.txt index d6d7654..340e5da 100644 --- a/docs/vj_HistoryNotes.txt +++ b/docs/vj_HistoryNotes.txt @@ -36,6 +36,7 @@ Release 5 (TBA) 23) Handle number of M68K cycles used when tracing in debugger mode -- The cycles are displayed in the emulator status window 24) Improve the DWARF source line number reporting +25) Added a #line in the call stack browser window Release 4a (15th August 2019) ----------------------------- diff --git a/src/debugger/callstackbrowser.cpp b/src/debugger/callstackbrowser.cpp index 40d8e13..826b833 100644 --- a/src/debugger/callstackbrowser.cpp +++ b/src/debugger/callstackbrowser.cpp @@ -49,11 +49,12 @@ layout(new QVBoxLayout) layout->addWidget(text); #else // Set the new layout with proper identation and readibility - model->setColumnCount(4); + model->setColumnCount(5); model->setHeaderData(0, Qt::Horizontal, QObject::tr("Function")); - model->setHeaderData(1, Qt::Horizontal, QObject::tr("Line")); - model->setHeaderData(2, Qt::Horizontal, QObject::tr("Return address")); - model->setHeaderData(3, Qt::Horizontal, QObject::tr("Filename")); + model->setHeaderData(1, Qt::Horizontal, QObject::tr("#Line")); + model->setHeaderData(2, Qt::Horizontal, QObject::tr("Line")); + model->setHeaderData(3, Qt::Horizontal, QObject::tr("Return address")); + model->setHeaderData(4, Qt::Horizontal, QObject::tr("Filename")); // Information table TableView->setModel(model); TableView->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -118,16 +119,19 @@ void CallStackBrowserWindow::RefreshContents(void) model->insertRow(NbRaw); // display the function name model->setItem(NbRaw, 0, new QStandardItem(QString("%1").arg((Name = DBGManager_GetFunctionName(ret)) ? Name : "(N/A)"))); + // display the line number + sprintf(msg, "%zi", DBGManager_GetNumLineFromAdr(ret, DBG_NO_TAG)); + model->setItem(NbRaw, 1, new QStandardItem(QString("%1").arg((msg[0] != '0') ? msg : "(N/A)"))); // display the called line FunctionName = QString(Name = DBGManager_GetLineSrcFromAdr(ret, DBG_NO_TAG)); //FunctionName.replace(" ", " "); FunctionName = FunctionName.trimmed(); - model->setItem(NbRaw, 1, new QStandardItem(QString("%1").arg(Name ? FunctionName : "(N/A)"))); + model->setItem(NbRaw, 2, new QStandardItem(QString("%1").arg(Name ? FunctionName : "(N/A)"))); // display the return address sprintf(msg, "0x%06X", ret); - model->setItem(NbRaw, 2, new QStandardItem(QString("%1").arg(msg))); + model->setItem(NbRaw, 3, new QStandardItem(QString("%1").arg(msg))); // display the source filename from called source line - model->setItem(NbRaw++, 3, new QStandardItem(QString("%1").arg(((Name = DBGManager_GetFullSourceFilenameFromAdr(ret, &FilenameStatus)) && !FilenameStatus) ? Name : "(N/A)"))); + model->setItem(NbRaw++, 4, new QStandardItem(QString("%1").arg(((Name = DBGManager_GetFullSourceFilenameFromAdr(ret, &FilenameStatus)) && !FilenameStatus) ? Name : "(N/A)"))); #endif } else