debugger: intercept calls to qFatal

On Windows that might kill the inferior even if we only want to
examine data.

Task-number: QTCREATORBUG-4145
This commit is contained in:
hjk
2011-03-21 15:04:31 +01:00
parent 5426c3ac2c
commit 634bcc88ad
4 changed files with 67 additions and 37 deletions

View File

@@ -137,6 +137,7 @@ private: ////////// Gdb Process Management //////////
void handleGdbExit(const GdbResponse &response);
void handleRemoteSetupDone(int gdbServerPort, int qmlPort);
void handleRemoteSetupFailed(const QString &message);
void handleNamespaceExtraction(const GdbResponse &response);
void handleAdapterStarted();
void defaultInferiorShutdown(const char *cmd);
@@ -432,6 +433,7 @@ private: ////////// View & Data Stuff //////////
//void handleFetchDisassemblerByMiRangeMixed(const GdbResponse &response);
//void handleFetchDisassemblerByMiRangePlain(const GdbResponse &response);
void handleDisassemblerCheck(const GdbResponse &response);
void handleBreakOnQFatal(const GdbResponse &response);
DisassemblerLines parseDisassembler(const GdbMi &data);
DisassemblerLines parseCliDisassembler(const GdbMi &lines);
DisassemblerLines parseMiDisassembler(const GdbMi &lines);
@@ -581,11 +583,13 @@ private: ////////// View & Data Stuff //////////
void handleSetQmlStepBreakpoint(const GdbResponse &response);
bool isQmlStepBreakpoint1(int bpnr) const;
bool isQmlStepBreakpoint2(int bpnr) const;
bool isQFatalBreakpoint(int bpnr) const;
// HACK:
StackFrame m_targetFrame;
QByteArray m_currentThread;
QString m_lastWinException;
int m_qFatalBreakpointNumber;
};
} // namespace Internal