Log View

Dependency Walker


Log View


This view is used to log module warnings, module errors, and all activity while profiling the application for the current Module Session. For more information on profiling, see the Start Profiling Command, the Using Application Profiling to Detect Dynamic Dependencies section, and the Profile Module Dialog.

While profiling an application, Dependency Walker gathers information from the running process. The various types of information that can be logged include:

bullet The start of the new process. This is always logged.
bullet The exiting of the process. This is always logged.

bullet The creation of a thread. These are only logged if the Log thread information box is checked in the Profile Module Dialog.

bullet The exiting of a thread. These are only logged if the Log thread information box is checked in the Profile Module Dialog.

bullet The loading of a module. These are always logged.

bullet The unloading of a module. These are always logged.

bullet Any debug output text that the process generates. These are only logged if the Log debug output box is checked in the Profile Module Dialog. Debug output text is logged with a grayed-out color to distinguish it from normal log text.

bullet Any first chance exceptions that occur in the process. These are only logged if the Log first chance exceptions box is checked in the Profile Module Dialog.

bullet Any second chance exceptions that occur in the process. These are always logged. These lines will be colored red.

bullet The calling of a module's DllMain function. These are only logged if either of the two Log DllMain calls boxes are checked in the Profile Module Dialog.

bullet The return from a module's DllMain function. These are only logged if either of the two Log DllMain calls boxes are checked in the Profile Module Dialog. This line of log will be shown in red if the DllMain function was called with the DLL_PROCESS_ATTACH message and it returned 0. If a module returns 0 from its DllMain function while processing the DLL_PROCESS_ATTACH message, then the OS will unload the module and return a failure. In the case of an implicit dependency, this will cause the entire application to fail to load with an error dialog reading something like "The application failed to initialize properly". In the case of a dynamic dependency, the call to LoadLibrary will fail with error 1114 (ERROR_DLL_INIT_FAILED), but the application may continue to run.

bullet The calling of a LoadLibrary type function. These are only logged if the Log LoadLibrary function calls box is checked in the Profile Module Dialog.

bullet The return from a call to a LoadLibrary type function. These are only logged if the Log LoadLibrary function calls box is checked in the Profile Module Dialog. This line of log will be colored red if the function fails.

bullet Any calls to the GetProcAddress function. These are only logged if the Log GetProcAddress function calls box is checked in the Profile Module Dialog. This line of log will be colored red if the function fails.

If the Log a time stamp with each line of log box is checked in the Profile Module Dialog, then each line of log in the Log View will begin with a time stamp. Each time stamp shows the number of hours, minutes, seconds, and milliseconds that have elapsed since the process started. It is important to note that Dependency Walker can significantly impact the performance of certain operations within the application being profiled. For this reason, these time stamps should probably not be used as an accurate method of measuring the performance of your application.

You may copy text from the Log View using the Copy Command. The contents of the window can also be saved to a text file using the Save Command or Save As Command. You can also search the Log View for text using the Find Command and Find Next Command.