bpo-25655: Improve Win DLL loading failures doc (GH-22372)
Add documentation to help diagnose CDLL dependent DLL loading errors on windows for OSError with message: "[WinError 126] The specified module could not be found" This error is otherwise difficult to diagnose.
This commit is contained in:
parent
283f9a253b
commit
b6f2fc9040
|
@ -1326,6 +1326,21 @@ way is to instantiate one of the following classes:
|
|||
libraries use the standard C calling convention, and are assumed to return
|
||||
:c:type:`int`.
|
||||
|
||||
On Windows creating a :class:`CDLL` instance may fail even if the DLL name
|
||||
exists. When a dependent DLL of the loaded DLL is not found, a
|
||||
:exc:`OSError` error is raised with the message *"[WinError 126] The
|
||||
specified module could not be found".* This error message does not contain
|
||||
the name of the missing DLL because the Windows API does not return this
|
||||
information making this error hard to diagnose. To resolve this error and
|
||||
determine which DLL is not found, you need to find the list of dependent
|
||||
DLLs and determine which one is not found using Windows debugging and
|
||||
tracing tools.
|
||||
|
||||
.. seealso::
|
||||
|
||||
`Microsoft DUMPBIN tool <https://docs.microsoft.com/cpp/build/reference/dependents>`_
|
||||
-- A tool to find DLL dependents.
|
||||
|
||||
|
||||
.. class:: OleDLL(name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False, winmode=0)
|
||||
|
||||
|
|
Loading…
Reference in New Issue