問題タブ [hardware-traps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - ポインターが逆参照されない場合でも、最後から3番目のポインターのハードウェアトラップはどのように発生しますか?
2005年11月1日のC++コラムで、ハーブサッターは次のように書いています...
[O]現在のCPUアーキテクチャを含む一部のCPUアーキテクチャでは、前述のコードにより、ポインタが逆参照されているかどうかに関係なく、最後から3番目のポインタが作成された時点でハードウェアトラップが発生する可能性があります。
CPUはビットパターンをどのようにトラップしますか?どうですか...
ボーナスの質問:「一部の現在のCPUアーキテクチャ」というフレーズは、通常、製品の出荷のみを指すと理解する必要がありますか、それとも、それらが説明または暗示されているフィクションの作品に最近の発行日がある場合は、架空のアーキテクチャも含まれますか?
debugging - XP 64 ビットのハードウェア ブレークポイント
64 ビット XP で動作するハードウェア ブレークポイントを持っている人はいますか?
ハードウェア ブレークポイントを使用するアプリケーションがあります。これは、しばらくの間、32 ビット XP および 32 ビット Vista オペレーティング システムで動作します。ただし、コードを 64 ビットに移植すると、アプリを 64 ビット XP で実行するとクラッシュしますが、64 ビット Vista で実行するとクラッシュしません。アプリは XP でコンパイルおよびビルドされています。
ブレークポイント (DR7=1) を設定した後、これをスレッドの再開に分離しました。ファイル ダイアログ ボックスを表示し、フォームの GUI コントロールが不安定な場合にクラッシュが発生します。奇妙なことに、ブレークポイントを設定して不安定な GUI を観察した後、ブレークポイントを無効 (DR7=0) にすると、GUI は再び通常の動作を開始し、ファイル ダイアログを表示してもクラッシュしません。
ブレークポイント設定コードを他のサンプル ブレークポイント設定コードに置き換えましたが、各サンプルには同じ問題があります。
embedded - トラップとは
プロセッサのデータシートには、BusFault、MemManage Fault、Usage Fault、Address Error など、さまざまな種類のトラップがリストされています。
彼らの目的は何ですか?障害処理にどのように利用できますか?
memory - オペレーティング システムのトラップ: アドレス指定エラーが発生する原因は?
特定のプロセスに論理メモリ空間を割り当てた後、ベース レジスタとリミット レジスタを使用してその空間を保護します。プロセスに割り当てられたメモリ空間外のメモリへのアクセスを防ぐために、CPU ハードウェアは要求された各メモリ アドレスをこれらのレジスタと比較します。次の 2 つの条件のいずれかが成立すると、オペレーティング システムのトラップが発生します。
- ターゲット アドレスがベース レジスタより小さい。
- ターゲットアドレスがリミットレジスタ以上です。
このロジックは、下の図 7.2で視覚的に確認できます。
上記は、それらがどのように発生するかを説明しています。
ユーザー モードで実行されているプログラムがオペレーティング システムのメモリまたは他のユーザーのメモリにアクセスしようとすると、オペレーティング システムへのトラップが発生します。
しかし、要求されたアドレスが実際にプログラムの割り当てられたメモリ空間の外にある場合の例は何ですか? これは何が原因でしょうか?
[画像と引用元: オペレーティング システムの重要事項、第 2 版。- エイブラハム・シルバーシャッツ]