Jokkey
14-Jan-2010, 06:58 PM
If the call stack contains a call to a function with a very long name, it apparently overflows some internal data structure within EurekaLog. As a result:
If I click the "click here to see details" link before sending the error report, gibberish characters appear in the call stack where the very long name should be.
The error log that's sent to the developer is truncated at that point where the very long name occurs.
As a result, after importing the error log into the EurekaLog Viewer, the Call Stack, Modules, Processes, Assembler, and CPU tabs for that entry are all empty.
The function name limit seems to be somewhere around 130 characters. Because we're using C++ and are making moderately heavy use of templates, it's not unusual for template-instantiated C++-mangled function names to be 200 characters long or longer. (For example, I first saw this problem with a function template called ShowNewModal, but after instantiation and overloading and mangling, its name is @%ShowNewModal$11TReportForm14MachineStoragep16glo bal_variablesp11engine_infop17wglobal_variablesp12 TMachineForm%$qrx14MachineStoragerxp16global_varia blesrxp11engine_inforxp17wglobal_variablesrxp12TMa chineForm$i.)
This is in C++Builder 2009 with EurekaLog 6.0.22 Professional.
If I click the "click here to see details" link before sending the error report, gibberish characters appear in the call stack where the very long name should be.
The error log that's sent to the developer is truncated at that point where the very long name occurs.
As a result, after importing the error log into the EurekaLog Viewer, the Call Stack, Modules, Processes, Assembler, and CPU tabs for that entry are all empty.
The function name limit seems to be somewhere around 130 characters. Because we're using C++ and are making moderately heavy use of templates, it's not unusual for template-instantiated C++-mangled function names to be 200 characters long or longer. (For example, I first saw this problem with a function template called ShowNewModal, but after instantiation and overloading and mangling, its name is @%ShowNewModal$11TReportForm14MachineStoragep16glo bal_variablesp11engine_infop17wglobal_variablesp12 TMachineForm%$qrx14MachineStoragerxp16global_varia blesrxp11engine_inforxp17wglobal_variablesrxp12TMa chineForm$i.)
This is in C++Builder 2009 with EurekaLog 6.0.22 Professional.