Bugfix: Install task-entry breakpoint *after* EXE module is initialized.
This commit is contained in:
parent
63ff31eacd
commit
4d550350f3
|
@ -48,9 +48,6 @@ DECLARE_DEBUG_CHANNEL(toolhelp)
|
|||
/* Pointer to function to switch to a larger stack */
|
||||
int (*IF1632_CallLargeStack)( int (*func)(), void *arg ) = NULL;
|
||||
|
||||
/* Pointer to debugger callback routine */
|
||||
void (*TASK_AddTaskEntryBreakpoint)( HTASK16 hTask ) = NULL;
|
||||
|
||||
static THHOOK DefaultThhook = { 0 };
|
||||
THHOOK *pThhook = &DefaultThhook;
|
||||
|
||||
|
@ -388,11 +385,6 @@ BOOL TASK_Create( NE_MODULE *pModule, UINT16 cmdShow)
|
|||
pTask->teb->htask16 = pTask->teb->process->task = hTask;
|
||||
TRACE_(task)("module='%s' cmdline='%s' task=%04x\n", name, cmd_line, hTask );
|
||||
|
||||
/* If requested, add entry point breakpoint */
|
||||
|
||||
if ( TASK_AddTaskEntryBreakpoint )
|
||||
TASK_AddTaskEntryBreakpoint( hTask );
|
||||
|
||||
/* Add the task to the linked list */
|
||||
|
||||
SYSLEVEL_EnterWin16Lock();
|
||||
|
|
|
@ -36,6 +36,10 @@ static PDB initial_pdb;
|
|||
|
||||
static PDB *PROCESS_First = &initial_pdb;
|
||||
|
||||
/* Pointer to debugger callback routine */
|
||||
void (*TASK_AddTaskEntryBreakpoint)( HTASK16 hTask ) = NULL;
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROCESS_WalkProcess
|
||||
*/
|
||||
|
@ -474,6 +478,10 @@ void PROCESS_Start(void)
|
|||
LeaveCriticalSection( &pdb->crit_section );
|
||||
}
|
||||
|
||||
/* If requested, add entry point breakpoint */
|
||||
if ( TASK_AddTaskEntryBreakpoint )
|
||||
TASK_AddTaskEntryBreakpoint( pdb->task );
|
||||
|
||||
/* Now call the entry point */
|
||||
PROCESS_CallUserSignalProc( USIG_PROCESS_RUNNING, 0 );
|
||||
|
||||
|
|
Loading…
Reference in New Issue