Fix #9221.
- When an image creation notification is received, the thread that provoked it needs to be suspended until the debugger has finished loading the image's debug information. Otherwise, if that image had a breakpoint in it, it was possible that the thread would execute past the code where the breakpoint should be before the debugger had a chance to actually install it. - Only update breakpoints when debug info loading has actually finished.
This commit is contained in:
@@ -103,7 +103,12 @@ private:
|
||||
private:
|
||||
struct ImageHandler;
|
||||
struct ImageHandlerHashDefinition;
|
||||
struct ImageInfoPendingThread;
|
||||
struct ImageInfoPendingThreadHashDefinition;
|
||||
|
||||
typedef BOpenHashTable<ImageHandlerHashDefinition> ImageHandlerTable;
|
||||
typedef BOpenHashTable<ImageInfoPendingThreadHashDefinition>
|
||||
ImageInfoPendingThreadTable;
|
||||
|
||||
private:
|
||||
static status_t _DebugEventListenerEntry(void* data);
|
||||
@@ -166,6 +171,7 @@ private:
|
||||
ThreadHandlerTable fThreadHandlers;
|
||||
// protected by the team lock
|
||||
ImageHandlerTable* fImageHandlers;
|
||||
ImageInfoPendingThreadTable* fImageInfoPendingThreads;
|
||||
DebuggerInterface* fDebuggerInterface;
|
||||
TeamDebugInfo* fTeamDebugInfo;
|
||||
FileManager* fFileManager;
|
||||
|
||||
Reference in New Issue
Block a user