Changes between Version 6 and Version 7 of OsgDebugging
- Timestamp:
- Aug 26, 2010, 11:32:18 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OsgDebugging
v6 v7 9 9 The windows debugging !HowTo is based on Microsoft Visual Studio 2008 Professional. Using another MSVC Version should be possible without modification. ...should... :) 10 10 11 In debug builds MSVC outputs memoryleaks automatically. Unfortunately the message do not contain filenames or line numbers but only lost bytes by default. Additionally MSVC stops the memory accounting to early, so the satic elements of OSG are not freed already and result in a lot of false memory leak reports. This behaviour can only be correctwith crude workarounds like linking to MFC or similar.11 In debug builds MSVC outputs memoryleaks automatically. Unfortunately the message does not contain filenames or line numbers but only lost bytes by default. Additionally MSVC stops the memory accounting to early, so the static elements of OSG are not freed already and result in a lot of false memory leak reports. This behaviour can only be corrected with crude workarounds like linking to MFC or similar. 12 12 13 At least MSVC can be configured to report all memory leaks inside the source files with filenames and line numbers to a output file. This allows to identify some of the "true" memory leaks and correct hem already on the windows platform.13 At least MSVC can be configured to report all memory leaks inside the source files with filenames and line numbers to a output file. This allows to identify some of the "true" memory leaks and correct them already on the windows platform. 14 14 15 15 '''The best practice on windows is to use MSVC to eliminate all obvious memory leaks and to continue with Valgrind on Linux for final checks''' 16 16 17 17 What do we need to hunt the memory leaks? A report of every leak with the following information 18 * Filename wh re the leak was caused.18 * Filename where the leak was caused. 19 19 * Function name where the leak was caused. 20 20 * Line number where the leak was caused.