Added a specific debug channel for dll loading (builtin/native).
This commit is contained in:
parent
4d75640d79
commit
a77fd7df9d
|
@ -3,7 +3,7 @@ type win32
|
||||||
|
|
||||||
debug_channels (aspi atom cdrom console ddraw debug delayhlp dll dosfs dosmem
|
debug_channels (aspi atom cdrom console ddraw debug delayhlp dll dosfs dosmem
|
||||||
file fixup global heap int int10 int16 int17 int19 int21 int31
|
file fixup global heap int int10 int16 int17 int19 int21 int31
|
||||||
io local module ntdll process profile reg relay resource segment
|
io local loaddll module ntdll process profile reg relay resource segment
|
||||||
seh selector server snoop string system tape task thread thunk
|
seh selector server snoop string system tape task thread thunk
|
||||||
timer toolhelp tweak ver virtual vxd win32)
|
timer toolhelp tweak ver virtual vxd win32)
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
|
|
||||||
DEFAULT_DEBUG_CHANNEL(module);
|
DEFAULT_DEBUG_CHANNEL(module);
|
||||||
DECLARE_DEBUG_CHANNEL(win32);
|
DECLARE_DEBUG_CHANNEL(win32);
|
||||||
|
DECLARE_DEBUG_CHANNEL(loaddll);
|
||||||
|
|
||||||
WINE_MODREF *MODULE_modref_list = NULL;
|
WINE_MODREF *MODULE_modref_list = NULL;
|
||||||
|
|
||||||
|
@ -1306,6 +1307,7 @@ WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD flags )
|
||||||
int i;
|
int i;
|
||||||
module_loadorder_t *plo;
|
module_loadorder_t *plo;
|
||||||
LPSTR filename, p;
|
LPSTR filename, p;
|
||||||
|
const char *filetype = "";
|
||||||
|
|
||||||
if ( !libname ) return NULL;
|
if ( !libname ) return NULL;
|
||||||
|
|
||||||
|
@ -1396,16 +1398,19 @@ WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD flags )
|
||||||
case MODULE_LOADORDER_DLL:
|
case MODULE_LOADORDER_DLL:
|
||||||
TRACE("Trying native dll '%s'\n", filename);
|
TRACE("Trying native dll '%s'\n", filename);
|
||||||
pwm = PE_LoadLibraryExA(filename, flags);
|
pwm = PE_LoadLibraryExA(filename, flags);
|
||||||
|
filetype = "native";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODULE_LOADORDER_SO:
|
case MODULE_LOADORDER_SO:
|
||||||
TRACE("Trying so-library '%s'\n", filename);
|
TRACE("Trying so-library '%s'\n", filename);
|
||||||
pwm = ELF_LoadLibraryExA(filename, flags);
|
pwm = ELF_LoadLibraryExA(filename, flags);
|
||||||
|
filetype = "so";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODULE_LOADORDER_BI:
|
case MODULE_LOADORDER_BI:
|
||||||
TRACE("Trying built-in '%s'\n", filename);
|
TRACE("Trying built-in '%s'\n", filename);
|
||||||
pwm = BUILTIN32_LoadLibraryExA(filename, flags);
|
pwm = BUILTIN32_LoadLibraryExA(filename, flags);
|
||||||
|
filetype = "builtin";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -1421,7 +1426,8 @@ WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD flags )
|
||||||
{
|
{
|
||||||
/* Initialize DLL just loaded */
|
/* Initialize DLL just loaded */
|
||||||
TRACE("Loaded module '%s' at 0x%08x, \n", filename, pwm->module);
|
TRACE("Loaded module '%s' at 0x%08x, \n", filename, pwm->module);
|
||||||
|
if (!TRACE_ON(module))
|
||||||
|
TRACE_(loaddll)("Loaded module '%s' : %s\n", filename, filetype);
|
||||||
/* Set the refCount here so that an attach failure will */
|
/* Set the refCount here so that an attach failure will */
|
||||||
/* decrement the dependencies through the MODULE_FreeLibrary call. */
|
/* decrement the dependencies through the MODULE_FreeLibrary call. */
|
||||||
pwm->refCount++;
|
pwm->refCount++;
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
|
|
||||||
DEFAULT_DEBUG_CHANNEL(module);
|
DEFAULT_DEBUG_CHANNEL(module);
|
||||||
|
DECLARE_DEBUG_CHANNEL(loaddll);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Segment table entry
|
* Segment table entry
|
||||||
|
@ -896,6 +897,7 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
|
||||||
HINSTANCE16 hinst;
|
HINSTANCE16 hinst;
|
||||||
int i;
|
int i;
|
||||||
module_loadorder_t *plo;
|
module_loadorder_t *plo;
|
||||||
|
const char *filetype = "";
|
||||||
|
|
||||||
plo = MODULE_GetLoadOrder(libname, FALSE);
|
plo = MODULE_GetLoadOrder(libname, FALSE);
|
||||||
|
|
||||||
|
@ -906,11 +908,13 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
|
||||||
case MODULE_LOADORDER_DLL:
|
case MODULE_LOADORDER_DLL:
|
||||||
TRACE("Trying native dll '%s'\n", libname);
|
TRACE("Trying native dll '%s'\n", libname);
|
||||||
hinst = NE_LoadModule(libname, lib_only);
|
hinst = NE_LoadModule(libname, lib_only);
|
||||||
|
filetype = "native";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODULE_LOADORDER_BI:
|
case MODULE_LOADORDER_BI:
|
||||||
TRACE("Trying built-in '%s'\n", libname);
|
TRACE("Trying built-in '%s'\n", libname);
|
||||||
hinst = BUILTIN_LoadModule(libname);
|
hinst = BUILTIN_LoadModule(libname);
|
||||||
|
filetype = "builtin";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -947,6 +951,8 @@ static HINSTANCE16 MODULE_LoadModule16( LPCSTR libname, BOOL implicit, BOOL lib_
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE("Loaded module '%s' at 0x%04x.\n", libname, hinst);
|
TRACE("Loaded module '%s' at 0x%04x.\n", libname, hinst);
|
||||||
|
if (!TRACE_ON(module))
|
||||||
|
TRACE_(loaddll)("Loaded module '%s' : %s\n", libname, filetype);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call initialization routines for all loaded DLLs. Note that
|
* Call initialization routines for all loaded DLLs. Note that
|
||||||
|
|
Loading…
Reference in New Issue