iMX6 で実行されているアプリケーションを (gdbserver を使用して) リモート デバッグしようとしています。私のセットアップは Ubuntu 16.04 LTS で、QT Creator 3.5.1 (5.5.1 GCC 5.2.1 ベース) を使用しています。
最初に注意すべきことは、システム コールを削除すると、iMX6 アプリケーション レイヤーの QT GDB リモート デバッガー (シングル ステッピング) が機能することです。「システム(...)」または「読み取り(...)」。など。ただし、システム コールを実行しようとすると、プロセスがハングします。システムコールは決して戻りません。
2 つ目の注意点は、iMX6 から直接 (システム コールを含めて) 実行すると、アプリケーションが問題なく動作することです。GDB (コマンドライン) を使用してアプリケーションをデバッグすることもできます。ここでは問題ありません。
QT Creator では、QT Creator がアプリケーションを起動する前に実行する追加のデバッガー コマンドに、追加の GDB コマンド "set remote system-call-allowed 1" を追加しました。成功せず、まだハングします。すべてのシステム コールがハングし、戻りません。
ここで何が起こっているのか誰にも分かりませんか?システム コールが返されないのはなぜですか。