From: Adrian Freihofer <[email protected]>
This series improves devtool ide-sdk's remote-debugging workflow, focusing
on GDB's attach mode, and cleans up the corresponding selftests.
- Attach-mode debugging
The old ATTACH mode started gdbserver with "--attach :<port> $(pidof
<binary>)" under a plain cppdbg "launch" request - the classic attach
setup, which is fragile and hits several long-standing, unfixed
cpptools bugs (e.g. microsoft/vscode-cpptools#4166).
Switch to attaching over the extended-remote protocol instead, merging
ATTACH into the same persistent "gdbserver --multi" server already used
for MULTI mode.
Until microsoft/vscode-cpptools#14684 is merged, this has one downside
(one reason extended-remote attach wasn't used before): the user is
prompted to pick the process to attach to instead of it being selected
automatically. This is temporary, and the new setup is otherwise more
robust.
- Selftest cleanup
- Progressively move the ide-sdk and deploy selftests from raw
SSH/process-list probing over to the QEMU target command API
- Replace fixed-delay/process-probe waits with proper readiness-marker
waits
- Add attach-mode debug workflow verification with an explicit,
documented execution order to avoid Build-ID mismatches from
once/deploy side effects.
- Adds parallel test classes per toolchain/build-system (gcc/clang,
cmake/meson).
- Other fixes
- devtool deploy-target: avoid spurious tar "timestamp in the future"
warnings when the target clock lags the host.
- devtool ide-sdk: fix meson IntelliSense for the gcc toolchain
- cpp-example/ccp-example test fixture robustness fixes for compiler
optimization and PID file handling.
- devtool ide-sdk: default to all modified recipes when none is given
explicitly.
Adrian Freihofer (14):
devtool: deploy-target: pass tar -m to avoid future timestamp warnings
oe-selftest: devtool deploy: use QEMU target commands
oe-selftest: devtool ide-sdk: Add new test classes for ide-sdk tests
devtool: ide-sdk: fix meson IntelliSense for gcc toolchain
cpp-example: prevent compiler from eliminating debugger test code
ccp-example: fix PID file handling
devtool: ide-sdk: default to all modified recipes
devtool: ide-sdk: let gdbserver reuse the shared debug server wait
helper
oe-selftest: devtool ide-sdk: support $ in gdbserver task command
devtool: ide-sdk: attach via extended-remote
oe-selftest: devtool ide-sdk: wait for gdbserver readiness
oe-selftest: devtool ide-sdk: verify debugger shutdown
oe-selftest: devtool ide-sdk: use qemu.run for target checks
oe-selftest: devtool ide-sdk: verify attach debug workflow
.../cpp/files/cpp-example-lib.hpp | 6 +-
.../recipes-test/cpp/files/cpp-example.cpp | 10 +-
.../recipes-test/cpp/files/cpp-example.init | 5 +
meta/lib/oeqa/selftest/cases/devtool.py | 579 +++++++++++-------
scripts/lib/devtool/deploy.py | 5 +-
scripts/lib/devtool/ide_plugins/__init__.py | 81 ++-
scripts/lib/devtool/ide_plugins/ide_code.py | 158 +++--
scripts/lib/devtool/ide_plugins/ide_none.py | 44 +-
scripts/lib/devtool/ide_sdk.py | 18 +-
9 files changed, 535 insertions(+), 371 deletions(-)
--
2.55.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243555):
https://lists.openembedded.org/g/openembedded-core/message/243555
Mute This Topic: https://lists.openembedded.org/mt/120780727/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-