From 403c344c4b1d59b0ba12c7cbe54f6f1f630e4c8d Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Fri, 24 Jul 2009 15:50:30 +0200 Subject: [PATCH] debugger: add a 'swapendian' 'tool' to convert endianness of memory dumps --- tests/manual/trk/adapter.cpp | 16 ++++++++++++++-- tests/manual/trk/run.sh | 1 + tests/manual/trk/swapendian.cpp | 23 +++++++++++++++++++++++ tests/manual/trk/swapendian.pro | 9 +++++++++ tests/manual/trk/trk.pro | 3 ++- 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 tests/manual/trk/swapendian.cpp create mode 100644 tests/manual/trk/swapendian.pro diff --git a/tests/manual/trk/adapter.cpp b/tests/manual/trk/adapter.cpp index b382d0d53d8..8071b537e46 100644 --- a/tests/manual/trk/adapter.cpp +++ b/tests/manual/trk/adapter.cpp @@ -396,7 +396,8 @@ void Adapter::handleGdbResponse(const QByteArray &response) else if (response == "!") { sendGdbAckMessage(); - sendGdbMessage("OK", "extended mode enabled"); + sendGdbMessage("", "extended mode not enabled"); + //sendGdbMessage("OK", "extended mode enabled"); } else if (response.startsWith("?")) { @@ -645,6 +646,16 @@ void Adapter::handleGdbResponse(const QByteArray &response) // // vCont[;action[:thread-id]]...' //} + else if (response.startsWith("vKill")) { + // kill + sendGdbAckMessage(); + QByteArray ba; + appendByte(&ba, 0); // Sub-command: Delete Process + appendInt(&ba, m_session.pid); + sendTrkMessage(0x41, 0, ba, "Delete process"); // Delete Item + sendGdbMessageAfterSync("", "process killed"); + } + else { logMessage("FIXME unknown: " + response); } @@ -886,7 +897,8 @@ void Adapter::handleResult(const TrkResult &result) // uint tid = extractInt(data + 8); // ThreadID: 4 bytes //logMessage(prefix << " ADDR: " << addr << " PID: " << pid << " TID: " << tid); sendTrkAck(result.token); - sendGdbMessage("S11", "Target stopped"); + //sendGdbMessage("S11", "Target stopped"); + sendGdbMessage("S05", "Target stopped"); break; } case 0x91: { // Notify Exception (obsolete) diff --git a/tests/manual/trk/run.sh b/tests/manual/trk/run.sh index de673606ba3..a0d14cadeae 100755 --- a/tests/manual/trk/run.sh +++ b/tests/manual/trk/run.sh @@ -10,6 +10,7 @@ trkservername="TRKSERVER-${userid}"; gdbserverip=127.0.0.1 gdbserverport=$[2222 + ${userid}] memorydump=TrkDump-78-6a-40-00.bin +memorydump=TrkDump-78-6a-40-00-BigEndian.bin fuser -n tcp -k ${gdbserverport} rm /tmp/${trkservername} diff --git a/tests/manual/trk/swapendian.cpp b/tests/manual/trk/swapendian.cpp new file mode 100644 index 00000000000..4b6dd5cb1c7 --- /dev/null +++ b/tests/manual/trk/swapendian.cpp @@ -0,0 +1,23 @@ + + +#include <QtCore> + +int main(int argc, char *argv[]) +{ + QFile file1(argv[1]); + file1.open(QIODevice::ReadOnly); + + QByteArray ba = file1.readAll(); + file1.close(); + + for (int i = 0; i < ba.size(); i += 4) { + char c = ba[i]; ba[i] = ba[i + 3]; ba[i + 3] = c; + c = ba[i + 1]; ba[i + 1] = ba[i + 2]; ba[i + 2] = c; + } + + QFile file2(argv[2]); + file2.open(QIODevice::WriteOnly); + file2.write(ba); + file2.close(); +} + diff --git a/tests/manual/trk/swapendian.pro b/tests/manual/trk/swapendian.pro new file mode 100644 index 00000000000..acf59908964 --- /dev/null +++ b/tests/manual/trk/swapendian.pro @@ -0,0 +1,9 @@ + +TEMPLATE = app + +QT = core + +HEADERS += \ + +SOURCES += \ + swapendian.cpp diff --git a/tests/manual/trk/trk.pro b/tests/manual/trk/trk.pro index 7d5f33e4eab..a461bb70566 100644 --- a/tests/manual/trk/trk.pro +++ b/tests/manual/trk/trk.pro @@ -1,7 +1,8 @@ TEMPLATE = subdirs -SUBDIRS = trkserver adapter +SUBDIRS = trkserver adapter swapendian trkserver.file = trkserver.pro adapter.file = adapter.pro +swapendian.file = swapendian.pro -- GitLab