Skip to content
GitLab
Menu
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
9101e467
Commit
9101e467
authored
Aug 24, 2009
by
Friedemann Kleint
Browse files
Trk: Handle threads and modules correctly
parent
5f5f6890
Changes
2
Show whitespace changes
Inline
Side-by-side
tests/manual/trk/adapter.cpp
View file @
9101e467
...
...
@@ -443,11 +443,9 @@ void Adapter::handleGdbResponse(const QByteArray &response)
// The reply is the same as for step and continue.
sendGdbAckMessage
();
startInferiorIfNeeded
();
//sendGdbMessageAfterSync("T05thread:p@PID@.@TID@;", "current thread Id");
//sendGdbMessageAfterSync("T05thread:@TID@;", "current thread Id");
//sendGdbMessage("T0505:00000000;04:e0c1ddbf;08:10f80bb8;thread:1f43;",
// sendGdbMessage("T0505:00000000;thread:" + QByteArray(buf),
sendGdbMessage
(
"S05"
,
"target halted"
);
sendGdbMessage
(
"T05library:r;"
,
"target halted (library load)"
);
// trap 05
// sendGdbMessage("S05", "target halted (trap)");
}
else
if
(
response
==
"c"
)
{
...
...
@@ -517,7 +515,7 @@ void Adapter::handleGdbResponse(const QByteArray &response)
// for 'other operations. 0 - any thread
//$Hg0#df
sendGdbAckMessage
();
m_session
.
currentThread
=
response
.
mid
(
2
).
toInt
();
m_session
.
currentThread
=
response
.
mid
(
2
).
toInt
(
0
,
16
);
sendGdbMessage
(
"OK"
,
"set current thread "
+
QByteArray
::
number
(
m_session
.
currentThread
));
}
...
...
@@ -901,6 +899,7 @@ void Adapter::handleResult(const TrkResult &result)
const
uint
dataseg
=
extractInt
(
data
+
14
);
//data address: 4 bytes; data base address for the library
const
uint
len
=
extractShort
(
data
+
18
);
//length: 2 bytes; length of the library name string to follow
const
QByteArray
name
=
result
.
data
.
mid
(
20
,
len
);
// name: library name
m_session
.
modules
+=
QString
::
fromAscii
(
name
);
QString
logMsg
;
QTextStream
str
(
&
logMsg
);
str
<<
prefix
<<
" NOTE: LIBRARY LOAD: token="
<<
result
.
token
;
...
...
@@ -916,7 +915,14 @@ void Adapter::handleResult(const TrkResult &result)
break
;
}
case
0xa1
:
{
// NotifyDeleted
logMessage
(
prefix
+
"NOTE: LIBRARY UNLOAD: "
+
str
);
const
ushort
itemType
=
(
unsigned
char
)
result
.
data
.
at
(
1
);
const
ushort
len
=
result
.
data
.
size
()
>
12
?
extractShort
(
result
.
data
.
data
()
+
10
)
:
ushort
(
0
);
const
QString
name
=
len
?
QString
::
fromAscii
(
result
.
data
.
mid
(
12
,
len
))
:
QString
();
if
(
!
name
.
isEmpty
())
m_session
.
modules
.
removeAll
(
name
);
logMessage
(
QString
::
fromLatin1
(
"%1 %2 UNLOAD: %3"
).
arg
(
QString
::
fromAscii
(
prefix
)).
arg
(
itemType
?
QLatin1String
(
"LIB"
)
:
QLatin1String
(
"PROCESS"
)).
arg
(
name
));
sendTrkAck
(
result
.
token
);
break
;
}
...
...
@@ -948,12 +954,12 @@ void Adapter::handleCpuType(const TrkResult &result)
// Command: 0x80 Acknowledge
// Error: 0x00
// [80 03 00 04 00 00 04 00 00 00]
m_session
.
cpuMajor
=
result
.
data
[
0
];
m_session
.
cpuMinor
=
result
.
data
[
1
];
m_session
.
bigEndian
=
result
.
data
[
2
];
m_session
.
defaultTypeSize
=
result
.
data
[
3
];
m_session
.
fpTypeSize
=
result
.
data
[
4
];
m_session
.
extended1TypeSize
=
result
.
data
[
5
];
m_session
.
cpuMajor
=
result
.
data
[
1
];
m_session
.
cpuMinor
=
result
.
data
[
2
];
m_session
.
bigEndian
=
result
.
data
[
3
];
m_session
.
defaultTypeSize
=
result
.
data
[
4
];
m_session
.
fpTypeSize
=
result
.
data
[
5
];
m_session
.
extended1TypeSize
=
result
.
data
[
6
];
//m_session.extended2TypeSize = result.data[6];
QString
logMsg
;
QTextStream
(
&
logMsg
)
<<
"HANDLE CPU TYPE: "
<<
" CPU="
<<
m_session
.
cpuMajor
<<
'.'
...
...
tests/manual/trk/trkutils.h
View file @
9101e467
...
...
@@ -32,7 +32,7 @@
#include <QtCore/QByteArray>
#include <QtCore/QHash>
#include <QtCore/QString>
#include <QtCore/QString
List
>
#include <QtCore/QVariant>
typedef
unsigned
char
byte
;
...
...
@@ -147,6 +147,7 @@ struct Session
// Gdb request
uint
currentThread
;
QStringList
modules
;
};
struct
Snapshot
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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