Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d3a6a16e
Commit
d3a6a16e
authored
Jul 13, 2005
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initialize relay debugging earlier on now that the registry is loaded
by the server.
parent
4391be58
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
20 deletions
+13
-20
loader.c
dlls/ntdll/loader.c
+0
-15
ntdll_misc.h
dlls/ntdll/ntdll_misc.h
+0
-1
relay.c
dlls/ntdll/relay.c
+13
-4
No files found.
dlls/ntdll/loader.c
View file @
d3a6a16e
...
@@ -1971,21 +1971,6 @@ void WINAPI LdrInitializeThunk( HANDLE main_file, ULONG unknown2, ULONG unknown3
...
@@ -1971,21 +1971,6 @@ void WINAPI LdrInitializeThunk( HANDLE main_file, ULONG unknown2, ULONG unknown3
if
(
main_file
)
NtClose
(
main_file
);
/* we no longer need it */
if
(
main_file
)
NtClose
(
main_file
);
/* we no longer need it */
if
(
TRACE_ON
(
relay
)
||
TRACE_ON
(
snoop
))
{
RELAY_InitDebugLists
();
if
(
TRACE_ON
(
relay
))
/* setup relay for already loaded dlls */
{
LIST_ENTRY
*
entry
,
*
mark
=
&
peb
->
LdrData
->
InLoadOrderModuleList
;
for
(
entry
=
mark
->
Flink
;
entry
!=
mark
;
entry
=
entry
->
Flink
)
{
LDR_MODULE
*
mod
=
CONTAINING_RECORD
(
entry
,
LDR_MODULE
,
InLoadOrderModuleList
);
if
(
mod
->
Flags
&
LDR_WINE_INTERNAL
)
RELAY_SetupDLL
(
mod
->
BaseAddress
);
}
}
}
RtlEnterCriticalSection
(
&
loader_section
);
RtlEnterCriticalSection
(
&
loader_section
);
load_path
=
NtCurrentTeb
()
->
Peb
->
ProcessParameters
->
DllPath
.
Buffer
;
load_path
=
NtCurrentTeb
()
->
Peb
->
ProcessParameters
->
DllPath
.
Buffer
;
...
...
dlls/ntdll/ntdll_misc.h
View file @
d3a6a16e
...
@@ -59,7 +59,6 @@ extern void DECLSPEC_NORETURN server_protocol_perror( const char *err );
...
@@ -59,7 +59,6 @@ extern void DECLSPEC_NORETURN server_protocol_perror( const char *err );
extern
void
DECLSPEC_NORETURN
server_abort_thread
(
int
status
);
extern
void
DECLSPEC_NORETURN
server_abort_thread
(
int
status
);
/* module handling */
/* module handling */
extern
void
RELAY_InitDebugLists
(
void
);
extern
FARPROC
RELAY_GetProcAddress
(
HMODULE
module
,
const
IMAGE_EXPORT_DIRECTORY
*
exports
,
extern
FARPROC
RELAY_GetProcAddress
(
HMODULE
module
,
const
IMAGE_EXPORT_DIRECTORY
*
exports
,
DWORD
exp_size
,
FARPROC
proc
,
const
WCHAR
*
user
);
DWORD
exp_size
,
FARPROC
proc
,
const
WCHAR
*
user
);
extern
FARPROC
SNOOP_GetProcAddress
(
HMODULE
hmod
,
const
IMAGE_EXPORT_DIRECTORY
*
exports
,
DWORD
exp_size
,
extern
FARPROC
SNOOP_GetProcAddress
(
HMODULE
hmod
,
const
IMAGE_EXPORT_DIRECTORY
*
exports
,
DWORD
exp_size
,
...
...
dlls/ntdll/relay.c
View file @
d3a6a16e
...
@@ -39,6 +39,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(relay);
...
@@ -39,6 +39,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL
(
snoop
);
WINE_DECLARE_DEBUG_CHANNEL
(
snoop
);
WINE_DECLARE_DEBUG_CHANNEL
(
seh
);
WINE_DECLARE_DEBUG_CHANNEL
(
seh
);
#ifdef __i386__
static
const
WCHAR
**
debug_relay_excludelist
;
static
const
WCHAR
**
debug_relay_excludelist
;
static
const
WCHAR
**
debug_relay_includelist
;
static
const
WCHAR
**
debug_relay_includelist
;
static
const
WCHAR
**
debug_snoop_excludelist
;
static
const
WCHAR
**
debug_snoop_excludelist
;
...
@@ -48,6 +50,8 @@ static const WCHAR **debug_from_relay_includelist;
...
@@ -48,6 +50,8 @@ static const WCHAR **debug_from_relay_includelist;
static
const
WCHAR
**
debug_from_snoop_excludelist
;
static
const
WCHAR
**
debug_from_snoop_excludelist
;
static
const
WCHAR
**
debug_from_snoop_includelist
;
static
const
WCHAR
**
debug_from_snoop_includelist
;
static
BOOL
init_done
;
/* compare an ASCII and a Unicode string without depending on the current codepage */
/* compare an ASCII and a Unicode string without depending on the current codepage */
inline
static
int
strcmpAW
(
const
char
*
strA
,
const
WCHAR
*
strW
)
inline
static
int
strcmpAW
(
const
char
*
strA
,
const
WCHAR
*
strW
)
{
{
...
@@ -102,11 +106,11 @@ static const WCHAR **build_list( const WCHAR *buffer )
...
@@ -102,11 +106,11 @@ static const WCHAR **build_list( const WCHAR *buffer )
/***********************************************************************
/***********************************************************************
*
RELAY_InitDebugL
ists
*
init_debug_l
ists
*
*
* Build the relay include/exclude function lists.
* Build the relay include/exclude function lists.
*/
*/
void
RELAY_InitDebugL
ists
(
void
)
static
void
init_debug_l
ists
(
void
)
{
{
OBJECT_ATTRIBUTES
attr
;
OBJECT_ATTRIBUTES
attr
;
UNICODE_STRING
name
;
UNICODE_STRING
name
;
...
@@ -126,6 +130,9 @@ void RELAY_InitDebugLists(void)
...
@@ -126,6 +130,9 @@ void RELAY_InitDebugLists(void)
static
const
WCHAR
SnoopFromIncludeW
[]
=
{
'S'
,
'n'
,
'o'
,
'o'
,
'p'
,
'F'
,
'r'
,
'o'
,
'm'
,
'I'
,
'n'
,
'c'
,
'l'
,
'u'
,
'd'
,
'e'
,
0
};
static
const
WCHAR
SnoopFromIncludeW
[]
=
{
'S'
,
'n'
,
'o'
,
'o'
,
'p'
,
'F'
,
'r'
,
'o'
,
'm'
,
'I'
,
'n'
,
'c'
,
'l'
,
'u'
,
'd'
,
'e'
,
0
};
static
const
WCHAR
SnoopFromExcludeW
[]
=
{
'S'
,
'n'
,
'o'
,
'o'
,
'p'
,
'F'
,
'r'
,
'o'
,
'm'
,
'E'
,
'x'
,
'c'
,
'l'
,
'u'
,
'd'
,
'e'
,
0
};
static
const
WCHAR
SnoopFromExcludeW
[]
=
{
'S'
,
'n'
,
'o'
,
'o'
,
'p'
,
'F'
,
'r'
,
'o'
,
'm'
,
'E'
,
'x'
,
'c'
,
'l'
,
'u'
,
'd'
,
'e'
,
0
};
if
(
init_done
)
return
;
init_done
=
TRUE
;
RtlOpenCurrentUser
(
KEY_ALL_ACCESS
,
&
root
);
RtlOpenCurrentUser
(
KEY_ALL_ACCESS
,
&
root
);
attr
.
Length
=
sizeof
(
attr
);
attr
.
Length
=
sizeof
(
attr
);
attr
.
RootDirectory
=
root
;
attr
.
RootDirectory
=
root
;
...
@@ -201,8 +208,6 @@ void RELAY_InitDebugLists(void)
...
@@ -201,8 +208,6 @@ void RELAY_InitDebugLists(void)
}
}
#ifdef __i386__
#include "pshpack1.h"
#include "pshpack1.h"
typedef
struct
typedef
struct
...
@@ -768,6 +773,8 @@ void RELAY_SetupDLL( HMODULE module )
...
@@ -768,6 +773,8 @@ void RELAY_SetupDLL( HMODULE module )
char
*
p
,
dllname
[
80
];
char
*
p
,
dllname
[
80
];
DWORD
size
;
DWORD
size
;
if
(
!
init_done
)
init_debug_lists
();
exports
=
RtlImageDirectoryEntryToData
(
module
,
TRUE
,
IMAGE_DIRECTORY_ENTRY_EXPORT
,
&
size
);
exports
=
RtlImageDirectoryEntryToData
(
module
,
TRUE
,
IMAGE_DIRECTORY_ENTRY_EXPORT
,
&
size
);
if
(
!
exports
)
return
;
if
(
!
exports
)
return
;
debug
=
(
DEBUG_ENTRY_POINT
*
)((
char
*
)
exports
+
size
);
debug
=
(
DEBUG_ENTRY_POINT
*
)((
char
*
)
exports
+
size
);
...
@@ -833,6 +840,8 @@ void SNOOP_SetupDLL(HMODULE hmod)
...
@@ -833,6 +840,8 @@ void SNOOP_SetupDLL(HMODULE hmod)
SIZE_T
size
;
SIZE_T
size
;
IMAGE_EXPORT_DIRECTORY
*
exports
;
IMAGE_EXPORT_DIRECTORY
*
exports
;
if
(
!
init_done
)
init_debug_lists
();
exports
=
RtlImageDirectoryEntryToData
(
hmod
,
TRUE
,
IMAGE_DIRECTORY_ENTRY_EXPORT
,
&
size
);
exports
=
RtlImageDirectoryEntryToData
(
hmod
,
TRUE
,
IMAGE_DIRECTORY_ENTRY_EXPORT
,
&
size
);
if
(
!
exports
)
return
;
if
(
!
exports
)
return
;
name
=
(
char
*
)
hmod
+
exports
->
Name
;
name
=
(
char
*
)
hmod
+
exports
->
Name
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment