From 975230b46d3d27ac30f7eb7bb0b357e276dd5b68 Mon Sep 17 00:00:00 2001 From: michaelangel007 Date: Thu, 24 Aug 2017 09:40:28 -0700 Subject: [PATCH] #479 (b) Add Warning for long symbols when symbol table is loaded --- docs/Debugger_Changelog.txt | 1 + source/Debugger/Debugger_Symbols.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/docs/Debugger_Changelog.txt b/docs/Debugger_Changelog.txt index 0548d131..95bbfe24 100644 --- a/docs/Debugger_Changelog.txt +++ b/docs/Debugger_Changelog.txt @@ -1,4 +1,5 @@ /* +.11 Added:"Warning" for long symbols when symbol table is loaded .10 Changed: "Warning" of symbols that alias to "Info." .9 Continuation of 2.8.0.8: Fix overflowing disassembly pane for long symbols .8 Fixed: Inactive Language Card bank now grayed out, main memory no longer double inverse. diff --git a/source/Debugger/Debugger_Symbols.cpp b/source/Debugger/Debugger_Symbols.cpp index 91c6766e..eb04e540 100644 --- a/source/Debugger/Debugger_Symbols.cpp +++ b/source/Debugger/Debugger_Symbols.cpp @@ -555,6 +555,8 @@ int ParseSymbolTable( TCHAR *pPathFileName, SymbolTable_Index_e eSymbolTableWrit char sText[ CONSOLE_WIDTH * 3 ]; bool bFileDisplayed = false; + const int nMaxLen = min(MAX_TARGET_LEN,MAX_SYMBOLS_LEN); + int nSymbolsLoaded = 0; if (! pPathFileName) @@ -637,6 +639,20 @@ int ParseSymbolTable( TCHAR *pPathFileName, SymbolTable_Index_e eSymbolTableWrit WORD nAddressPrev; int iTable; + // 2.9.0.11 Bug #479 + int nLen = strlen( sName ); + if (nLen >= nMaxLen) + { + ConsolePrintFormat( sText, " %sWarn.: %s%s (%d > %d)" + , CHC_WARNING + , CHC_SYMBOL + , sName + , nLen + , nMaxLen + ); + ConsoleUpdate(); // Flush buffered output so we don't ask the user to pause + } + // 2.8.0.5 Bug #244 (Debugger) Duplicate symbols for identical memory addresses in APPLE2E.SYM const char *pSymbolPrev = FindSymbolFromAddress( (WORD)nAddress, &iTable ); // don't care which table it is in if( pSymbolPrev )