LineInfo unit can stop displaying backtrace if invalid pointer is passed
Original Reporter info from Mantis: payl
-
Reporter name: Paul W
Original Reporter info from Mantis: payl
- Reporter name: Paul W
Description:
Lineinfo unit currently tries to cache last used backtrace file. To do it, it obtains file which maps to currently processed address and if this fails, it defaults to current EXE name.
However, if no file is cached or other file than main exe is cached, then passing invalid pointer (for example nil) will cause cache to remember default values, which have no baseaddr and further calls will not give symbols until cache changes, because of baseaddr still remembering wrong value (nil).
Steps to reproduce:
1.Compile attached program with debug symbols turned on
2.Run
3.Instead of expected information about trace to main, you get no debug information.
4.Running without first attempting to get trace for address nil should correctly return debug information.
Mantis conversion info:
- Mantis ID: 28907
- Build: 32142
- Platform: Win32
- Version: 3.1.1