Gold mine of Visual C++ tricks!
How to identify the module load order?
![]()
When an application starts, windows loads the necessary dll files to the system memory – “in required order”. But how to get the dll load order of perticular application? You’ve already seen – When we start the application via debugger, it will output the module load order info to the watch window. Have a look at it,
Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\kernel32.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\dbghelp.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\msvcrt.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\advapi32.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\rpcrt4.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\mfc42.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\user32.dll', no matching symbolic information found. Loaded 'C:\Windows\System32\gdi32.dll', no matching symbolic information found.
Seems Good! But, is there any easy method?
![]()
Yes! Take menu item, Debug -> Modules. And it will show the dialog of all loaded modules. By default the modules are sorted in load order. See the screenshot.

![]()
Now you don’t need to jump into that watch window for searching the module load order.
![]()
Targeted Audience – Beginners.
| Print article | This entry was posted by Jijo Raj on July 13, 2008 at 7:09 pm, and is filed under Uncategorized. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
