动态库分析工具dependency walker的使用,dependencywalker


 


正常图标

All instances of this module were normal and had no errors. If no delay-load image (hour glass) or dynamic image (star / asterisk) is to the left of this module image, then at least one instance of this module is implicitly required for the root module to load.

All instances of this module are marked as delay-load or are children of modules marked as delay-load. Modules with this image will change to dynamic dependencies at runtime if the module is actually loaded.

All instances of this module were dynamically loaded and detected during profiling. See Using Application Profiling to Detect Dynamic Dependencies for more information.

All instances of this module were dynamically loaded by calls to the LoadLibraryEx function with the DONT_RESOLVE_DLL_REFERENCES flag and/or the LOAD_LIBRARY_AS_DATAFILE flag. These flags cause the module to get mapped into memory without loading its dependent modules or calling the module's DllMain function. If a module with this image is later loaded without the DONT_RESOLVE_DLL_REFERENCES and LOAD_LIBRARY_AS_DATAFILE flags, then the image will change to the standard dynamic dependency image above.

64-bit module. This module is designed to run on a 64-bit versions of Windows. Modules are assumed to be 32-bit if this image is not present.


警告及错误图标

Missing module. This module could not be found in the search path. See the Configure Search Order Command for more information.

Invalid module. This module will be accompanied by an error message to describe the problem.

  Module warning. At least one instance of this module is either missing one or more export functions that are required by its parent module, is of the wrong CPU type, or failed to load at runtime. Locate the offending module(s) in the Module Dependency Tree View and then look in the Parent Import Function List View for that module to see the actual unresolved functions that are causing the problem. This may or may not be an error. If the offending module(s) are marked as dynamic, then this is just a warning since it is valid for modules to call GetProcAddress to dynamically check for a function and fail to find it. If the offending module(s) are delay-load, then this is also probably not an error since one reason developers use delay-load dependencies is when they are unsure if a function exists in a dependent module. If the offending module(s) are implicit or forwarded dependencies, then this is an error and will cause the parent of those modules to fail to load. If no export functions are missing, then check the Log View to see if the module error is related to a load failure.
查看评论

相关内容

    暂无相关文章