Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
8108bb0c
Commit
8108bb0c
authored
Jan 17, 2011
by
Friedemann Kleint
Browse files
Debugger[New CDB]: Ignore only first WOW64 breakpoint.
Subsequent ones are caused by interrupts.
parent
7d72445b
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/cdb/cdbengine.cpp
View file @
8108bb0c
...
...
@@ -352,7 +352,8 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp,
m_notifyEngineShutdownOnTermination
(
false
),
m_hasDebuggee
(
false
),
m_elapsedLogTime
(
0
),
m_sourceStepInto
(
false
)
m_sourceStepInto
(
false
),
m_wX86BreakpointCount
(
0
)
{
Utils
::
SavedAction
*
assemblerAction
=
theAssemblerAction
();
m_operateByInstructionPending
=
assemblerAction
->
isChecked
();
...
...
@@ -1430,7 +1431,7 @@ enum StopActionFlags
unsigned
CdbEngine
::
examineStopReason
(
const
QByteArray
&
messageIn
,
QString
*
message
,
QString
*
exceptionBoxMessage
)
const
QString
*
exceptionBoxMessage
)
{
// Report stop reason (GDBMI)
GdbMi
stopReason
;
...
...
@@ -1462,10 +1463,16 @@ unsigned CdbEngine::examineStopReason(const QByteArray &messageIn,
// pulls DLLs. Avoid showing a 'stopped' Message box.
if
(
exception
.
exceptionCode
==
winExceptionStartupCompleteTrap
)
return
StopNotifyStop
;
// WOW 64 breakpoint: just report in log and continue
// WOW 64 breakpoint: Report in log and continue the first one,
// subsequent ones are caused by interrupting the application.
if
(
exception
.
exceptionCode
==
winExceptionWX86Breakpoint
)
{
*
message
=
description
;
return
StopIgnoreContinue
|
StopReportLog
;
if
(
m_wX86BreakpointCount
++
)
{
*
message
=
tr
(
"Interrupted (%1)"
).
arg
(
description
);
return
StopReportStatusMessage
|
StopNotifyStop
;
}
else
{
*
message
=
description
;
return
StopIgnoreContinue
|
StopReportLog
;
}
}
if
(
isDebuggerWinException
(
exception
.
exceptionCode
))
{
*
message
=
msgInterrupted
();
...
...
src/plugins/debugger/cdb/cdbengine.h
View file @
8108bb0c
...
...
@@ -153,7 +153,7 @@ private:
enum
SpecialStopMode
{
NoSpecialStop
,
SpecialStopSynchronizeBreakpoints
};
unsigned
examineStopReason
(
const
QByteArray
&
messageIn
,
QString
*
message
,
QString
*
exceptionBoxMessage
)
const
;
QString
*
exceptionBoxMessage
);
bool
commandsPending
()
const
;
void
handleExtensionMessage
(
char
t
,
int
token
,
const
QByteArray
&
what
,
const
QByteArray
&
message
);
bool
doSetupEngine
(
QString
*
errorMessage
);
...
...
@@ -214,6 +214,7 @@ private:
mutable
int
m_elapsedLogTime
;
QByteArray
m_extensionMessageBuffer
;
bool
m_sourceStepInto
;
unsigned
m_wX86BreakpointCount
;
};
}
// namespace Internal
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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