アップ!?!
こんにちは。誰かが言うとき、私はそれが大好きです。
「[...]デバッグ方法は?」
私は実際にWindows 8セットアップのインストールを持っていませんし、Windows 8のインストールも行っていません。そのため、前任者と基本的な類似点があると仮定します。仮定を作成するときに、それらを仮定してみます。
ショットを呼び出す
問題の説明に基づいた私の推測では、システムがレジストリに適切なエントリを記録できないため、以前に「で開く」を実行した後に「開く」を実行すると、アプリケーションが表示されます。前回選択した。
私はあなたの問題を説明し、私の最初の推測を証明または反証します。以下の詳細をすべて必要としない場合は、問題の発見を開始する自動検出セクションまでスキップ/スキャンできます。
クイックフィックス
以下で説明するより複雑な手順に入る前に、まずコントロールパネルにあるデフォルトプログラムインターフェイスを調査する必要があります。「...で開く」メニューを使用して同様の効果を得ることができますが、すでにそれはあなたのために機能していないと言いました。**選択したアプリケーションのデフォルトアプリケーションとして設定を記憶することを示すチェックボックスを設定していることを確認してください。
下にデフォルトのプログラムの中にインタフェースコントロールパネルの以前のバージョンに「リセットデフォルト」または戻すにはあなたのためのオプションがあるかもしれません。これらのさまざまなオプションを検討して、問題が解決するかどうかを確認できます。これらが最も簡単な修正であるため、これらを最初に行います。それらが機能していない場合は、以下のオプションに進んでください。
仮定
これらは私が予見する仮定です。それらのいずれかがベースから外れている場合はお知らせください。必要がある場合は、Windows 8インストールのセットアップに時間がかかります。
レジストリ
私が作っている最大の仮定は、OSがまだレジストリを使用していることであり、例を挙げる場所では、Windows 8のレジストリディレクトリのレイアウト/構造はその前任者に似ていると仮定しています。
Cmd.exe
個人的には、コマンドプロンプトを好むことが多いので、おそらくターミナルセッションのコンテキストで手順を説明します。Windows 8にはまだcmd.exeがあると仮定しています。そうでなかったら本当に驚いたでしょう。
レジストリエディタ
レジストリがある場合は、おそらくレジストリを表示/編集するツールがあります。GUIおよびコマンドラインツールの名前は、前のものと同じであると仮定します。
ユーザー権限
昇格された特権でシェルを呼び出す方法は、OSの前任者に十分似ており、何をすべきかを知っていると思います。ここでオフベースになっている場合は、詳細を尋ねてください。できる限りのことを行います。
SysInternalsスイート
これらがWindows 8で利用できなかった場合、私は非常に失望します。Microsoftおよびサードパーティの開発者が経験する開発者/ QAサイクルの基本であるため、利用できないとは信じられません。
WinDbg.exe、DDK、およびSDK
これらはまだインストールされていないものと想定しています。それはいいです。おそらく、これらの強力なツールを必要とせずに問題を解決できます。最初に「偵察」セクションに進み、さらに深くする必要がある(または単にしたい)場合は、これらのツールについて説明します。
偵察
常に最初に可能な限り簡単な手段でタスクを達成しようとします。Windowsデバッガーから開始することは出発点としてはやり過ぎであり、関連するイベントの断片/シーケンスを見つけることはもう少し難しいでしょう。
The SysInternals Suiteをまだダウンロードおよびインストールしていない場合は、ここで実行する必要があります。少なくとも何が問題なのかを見つけるための最初の試みには、Process ExplorerとProcess Monitorが必要です。これらのツールはどちらもスイートの一部であり、*。zipファイルとしてダウンロードできますが、ネットワーク接続が不十分な場合は、2つのツールを個別にダウンロードして、処理を高速化することもできます。
スイート/ツールをシステムの適切な場所に解凍します(主に個人的な好み)。デフォルトのWindows解凍ユーティリティを使用している場合は、アーカイブを解凍する前にゾーンファイルを削除する必要があります。ゾーンファイルは、 OSが知っている方法です「このファイルは、インターネットからダウンロードした[...]ご自身のリスク[...]に[...]のチェックを外しボックスで実行します」。以前にポップアップボックスに似たメッセージを見たことがあると思います。通常、ポップアップの左下に小さなチェックボックスがあり、一度切り替えると決定を記憶します。
このチェックボックスを確認する別の方法は、ダウンロードしたファイルを右クリックして[プロパティ]を選択することです。チェックボックスは、[ 全般 ]タブの下部にあります。このチェックボックスを1回切り替えると、ゾーンファイルがバイナリから削除されます(補足として、ゾーンファイルは問題のバイナリの代替データストリームに格納されますが、これは別の議論です。今のところ、ポップアップウィンドウまたはゾーンファイルを操作するためのファイルプロパティインターフェイス。
デフォルトのWindows zipツールで解凍する前に、*。zipアーカイブからゾーンファイルを削除してください。* .zipファイルから削除しない場合、ZIPユーティリティは、解凍された各ファイルをゾーンファイルでマークし、スイートで実行するすべてのバイナリのポップアップウィンドウを取得するのが面倒になります。
開始する2つのツールがあります。* プロセスエクスプローラー(procexp.exe)* プロセスモニター(procmon.exe)
詳細については、対応する* .chmファイルを参照できます。プロセスエクスプローラーから開始します。問題をすぐに特定できない場合は、プロセスモニター(実行にもう少し関与します)に移動します。問題を解決できない場合は、話し合います。大きな銃を引き出すことについて。ただし、実際には、検出フェーズで知っておく必要のあることが多く、デバッガを起動する必要はありません。
背景と理解
レジストリは、ファイル拡張子を処理する方法を知っているアプリケーションにファイル拡張子を関連付けるマッピングを保存する場所です。たとえば、コマンドラインツールftypeおよびassocを使用して、アプリケーションの拡張機能のマッピングを表示/操作できます。
拡張子「.txt」に関連付けられたファイルタイプを表示するには、ターミナルから次のコマンドを実行します。
$> assoc .txt
.txt=txtfile
これは、.txtファイル拡張子がファイルタイプのtxtfileクラスに割り当てられていることを示しています。次に、txtfileクラスに関連付けられているアプリケーションを表示するには、コマンドを実行します
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
これらのツールは、システムのレジストリ設定を読み取るだけです。ターミナルから実行するreg.exeのようなツールを使用して自分で表示するか、ほとんどの人がGUIレジストリエディターregedit.exeを好むでしょう。その場所には、HKEY_CLASSES_ROOTハイブの下で単に検索する拡張子、ファイルタイプクラス、およびアプリケーションの関連付けの一部が表示されます。そのハイブのすぐ下に、「。txt」と「txtfile」の両方のキーと、さらに多くのキーがあります。
assocおよびftypeユーティリティの使用例がいくつかあります。
拡張機能をassocにフィードしていることを確認してください。あなたはすでにこれを知っていると思いますが、明確なファイル拡張子は、ファイル名を終わらせる「ドットの後に3文字または4文字が続く」ことです。たとえば、application.exe、document.txt、presentaion.pptなどです。連想ユーティリティは、あなたが提供することを期待します「」パラメータとして3/4文字。
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
ファイル拡張子とは別にファイルタイプがあります。複数のファイル拡張子を単一のファイルタイプにグループ化できます。「.html」と「.htm」が同じファイルタイプにどのようにマッピングされるかを検討してください。つまり、「htmlfile」です。以下の例では、この点をさらに実証しようとします。
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
さらに、レジストリのHKEY_CLASSES_ROOTハイブの下に次のキーが含まれていることに注意してください。
- HKCR.html
- HKCR.htm
- HKCR \ htmlファイル
txtファイルをアップロード/添付/共有する便利な方法がある場合は、次のコマンドを実行し、作成された出力を確認します。
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
これで、これらのファイルを書き込んだフォルダーを開いて共有できるようになります。次のコマンドでもファイルを開く必要があります(作成したファイルが見つかった場合)。
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
* .txtファイル全体を私と共有できない場合は、少なくともこれら2つのコマンドを実行し、その結果をコメントに入れてください。
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
そこに何も表示されない場合は、何かに設定することから始めてください。これらの変更を行うときは、昇格した特権(つまり、管理者特権)があることを確認してください。そうしないと、期待どおりに動作しない可能性があります。
プロセスエクスプローラー
必要に応じてTODO
プロセスモニター
必要に応じてTODO
Windowsデバッグ環境のインストール