組み込みソフトウェアの開発を行っています。本来、私は 3 つの異なるアプリケーションを同時に実行しており、それらは異なる範囲の仮想アドレスで実行されることが保証されています。
App 1 は 0x10000000 - 0x20000000 で実行され、App2 は 0x20000000 - 0x30000000 で実行されます。
通常、GDB は 1 つのシンボル定義ファイルしか受け付けないようです。しかし、この場合、クラッシュすることなく 3 つの定義すべてをロードできる可能性があります。どうすればこれを達成できますか?
次に、3 つのアプリケーションすべてが同じ仮想範囲で実行されていると仮定しますが、それぞれの実行中に何かが異なります。たとえば、1 つのアドレスの場所にアドレス空間 ID が含まれているとします。これにより、その時点でどのアプリケーションがロードされているかの手がかりが得られます。 .
GDB に 3 つのシンボル定義をすべてロードし、この情報に基づいて定義を自動的に切り替えるようにするにはどうすればよいでしょうか?