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
Marco Bubke
flatpak-qt-creator
Commits
b43a9965
Commit
b43a9965
authored
Mar 22, 2010
by
hjk
Browse files
debugger: filter out some noice in the mmx registers
parent
61ff757b
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/debugger/gdb/gdbengine.cpp
View file @
b43a9965
...
...
@@ -2954,11 +2954,35 @@ void GdbEngine::handleRegisterListValues(const GdbResponse &response)
Registers
registers
=
manager
()
->
registerHandler
()
->
registers
();
// 24^done,register-values=[{number="0",value="0xf423f"},...]
foreach
(
const
GdbMi
&
item
,
response
.
data
.
findChild
(
"register-values"
).
children
())
{
int
index
=
item
.
findChild
(
"number"
).
data
().
toInt
();
const
GdbMi
values
=
response
.
data
.
findChild
(
"register-values"
);
foreach
(
const
GdbMi
&
item
,
values
.
children
())
{
const
int
index
=
item
.
findChild
(
"number"
).
data
().
toInt
();
if
(
index
<
registers
.
size
())
{
Register
&
reg
=
registers
[
index
];
QString
value
=
_
(
item
.
findChild
(
"value"
).
data
());
GdbMi
val
=
item
.
findChild
(
"value"
);
QByteArray
ba
;
bool
handled
=
false
;
if
(
val
.
data
().
startsWith
(
"{"
))
{
int
pos1
=
val
.
data
().
indexOf
(
"v2_int32"
);
if
(
pos1
==
-
1
)
pos1
=
val
.
data
().
indexOf
(
"v4_int32"
);
if
(
pos1
!=
-
1
)
{
// FIXME: This block wastes cycles.
pos1
=
val
.
data
().
indexOf
(
"{"
,
pos1
+
1
)
+
1
;
int
pos2
=
val
.
data
().
indexOf
(
"}"
,
pos1
);
QByteArray
ba2
=
val
.
data
().
mid
(
pos1
,
pos2
-
pos1
);
foreach
(
QByteArray
ba3
,
ba2
.
split
(
','
))
{
ba3
=
ba3
.
trimmed
();
QTC_ASSERT
(
ba3
.
size
()
>=
3
,
continue
);
QTC_ASSERT
(
ba3
.
size
()
<=
10
,
continue
);
ba
.
prepend
(
QByteArray
(
10
-
ba3
.
size
(),
'0'
));
ba
.
prepend
(
ba3
.
mid
(
2
));
}
ba
.
prepend
(
"0x"
);
handled
=
true
;
}
}
const
QString
value
=
_
(
handled
?
ba
:
val
.
data
());
reg
.
changed
=
(
value
!=
reg
.
value
);
if
(
reg
.
changed
)
reg
.
value
=
value
;
...
...
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