2012-05-05 7 views
3

最近、ある企業からテストタスクを取得しました。そして、もう一つ質問です: オペレーティングシステム機能を使用せずにデバッガを作成する方法

を使用すると、アプリケーション内のブレークポイント を設定し、それを実行できる( 独自のオペレーティングシステム用)簡単なデバッガを書き込むためのタスクを与えられていると仮定します。あなたはそのような仕事の中で鍵となる設計上の決定は何ですか?

私は何かを知らないと思うが、私は答えについて全く考えていない。私はデバッガの仕組みを理解しています(INT 3 - デバッグの仮想空間にアクセスする必要があります)が、私は "独自のオペレーティングシステム"に関する答えを想定しています。

+0

もっと一般的に考える必要があります - 「INT 3」はCPU固有で、この独自OSが動作しているCPUについての質問は何も言いません。 –

+0

非独占的なオペレーティングシステムを考えようとしています。オペレーティングシステムはアプリケーションスイートであり、デバッガで使用できるものもありますが、抽象度がかなり高いことが期待されます。非常に技術的な質問のHR翻訳のような音です。 –

+0

@トニーホプキンソン私は「独自の」とは、オペレーティングシステムの一部を変更できないと考えています。 –

答えて

1

この質問は、いつものようにインタビューでとなっています。の詳細について質問してください。

オペレーティングシステムには、使用可能なプリミティブトレースツールが既に用意されていますか? テストされたアプリケーションはどの言語で書かれていますか?

いくつかの検査ツール、たとえばvalgrind、run inspected programs in their own environmentがあります。これはあなたの場合に適しているようです。もう1つの方法は、デバッガと通信するのトレース命令でにバイナリをインストルメントすることです。これはおそらく、アプリケーションがVMのもとで実行されるときには、より適切で簡単です。

関連する問題