Apa Up!?!
Halo. Saya suka ketika seseorang berkata;
"[...] bagaimana cara men-debug-nya?"
Saya sebenarnya tidak memiliki instalasi pengaturan Windows 8, dan saya belum bermain dengan instalasi Windows 8, jadi saya akan berasumsi bahwa ada beberapa kesamaan mendasar dengan pendahulunya. Saya akan mencoba untuk memanggil asumsi ketika saya membuatnya.
Memanggil tembakan
Dugaan saya, berdasarkan uraian masalah Anda, adalah bahwa sistem gagal mencatat entri yang tepat di registri sehingga ketika Anda menjalankan "buka" setelah sebelumnya melakukan "buka dengan ..." Anda akan melihat aplikasi yang Anda dipilih terakhir kali.
Saya akan memandu Anda mengatasi masalah Anda dan membuktikan atau menyangkal dugaan awal saya. Jika Anda tidak memerlukan semua verbositas saya di bawah ini, Anda dapat melewati / memindai ke bagian Recon tempat kami mulai mencoba mengungkap masalah tersebut.
Perbaikan cepat
Sebelum kita masuk ke langkah-langkah yang lebih terlibat yang dijelaskan di bawah ini Anda harus terlebih dahulu menyelidiki antarmuka Program Default yang ditemukan di Control Panel . Anda bisa mendapatkan efek serupa melalui menu "buka dengan ...", tetapi Anda sudah mengatakan itu tidak bekerja untuk Anda. ** Pastikan Anda mengatur kotak centang yang menunjukkan untuk mengingat pengaturan Anda sebagai aplikasi default untuk aplikasi apa pun yang telah Anda pilih.
Di bawah antarmuka Program Default di Panel Kontrol mungkin ada opsi bagi Anda untuk "mengatur ulang default" atau kembali ke versi sebelumnya. Anda dapat mempertimbangkan berbagai opsi ini untuk melihat apakah mereka menyelesaikan masalah Anda. Lakukan ini dulu, karena itu akan menjadi perbaikan yang paling mudah. Jika mereka tidak berfungsi maka Anda harus melanjutkan ke opsi di bawah ini.
Asumsi
Ini adalah asumsi yang saya ramalkan. Jika salah satu dari mereka jauh dari dasar, maka tolong beri tahu saya dan jika saya harus, saya akan meluangkan waktu untuk menyiapkan instalasi Windows 8.
Registri
Saya pikir asumsi terbesar yang saya buat adalah bahwa OS masih menggunakan registri dan untuk tempat-tempat di mana saya memberikan contoh, saya berasumsi bahwa tata letak / struktur direktori registri pada Windows 8 mirip dengan pendahulunya juga.
Cmd.exe
Secara pribadi, saya sering lebih suka prompt perintah jadi saya mungkin akan menjelaskan langkah-langkah dalam konteks sesi terminal. Saya berasumsi bahwa Windows 8 masih memiliki cmd.exe ; Saya akan sangat terkejut jika tidak.
Editor Registri
Jika ada registri, maka mungkin ada alat untuk melihat / mengedit registri. Saya akan berasumsi bahwa nama alat GUI dan commandline sama dengan nama mereka di pendahulunya.
Keistimewaan Pengguna
Saya akan berasumsi bahwa cara-cara untuk memohon shell dengan privilege yang ditinggikan cukup mirip dengan pendahulu OS sehingga Anda akan tahu apa yang harus dilakukan. Jika saya berada di luar markas di sini, tanyakan saja kepada saya elaborasi dan saya akan melakukan apa yang saya bisa.
Suite SysInternals
Saya akan sangat kecewa jika ini tidak tersedia di Windows 8. Saya tidak percaya bahwa mereka tidak akan tersedia karena mereka sangat mendasar bagi siklus pengembang / QA yang dilalui Microsoft dan pengembang pihak ketiga.
WinDbg.exe, DDK, dan SDK
Saya berasumsi bahwa Anda belum menginstal ini. Tidak apa-apa. Kita mungkin bisa menyelesaikan masalah tanpa memerlukan alat-alat berat itu. Pergi melalui bagian Recon terlebih dahulu dan jika Anda perlu (atau hanya ingin) masuk lebih dalam, maka akan berbicara tentang alat ini.
Recon
Selalu berusaha menyelesaikan tugas Anda dengan cara sesederhana mungkin. Memulai dengan Windows Debugger akan berlebihan untuk titik awal, dan itu akan sedikit lebih sulit untuk menemukan potongan / urutan peristiwa yang relevan.
Jika Anda belum mengunduh dan menginstal The SysInternals Suite , maka Anda harus melakukannya sekarang. Paling tidak Anda akan memerlukan Process Explorer dan Monitor Proses untuk upaya pertama dalam menemukan apa yang salah. Kedua alat ini adalah bagian dari suite, yang dapat Anda unduh sebagai file * .zip, tetapi jika Anda memiliki koneksi jaringan yang buruk maka Anda dapat memilih untuk mengunduh dua alat secara individual untuk menyelesaikannya lebih cepat.
Buka zip suite / alat ke tempat yang sesuai pada sistem Anda (sebagian besar preferensi pribadi Anda). Jika Anda menggunakan utilitas unzip Windows default, maka Anda ingin menghapus file Zone sebelum membuka ritsleting arsip. File zona adalah bagaimana OS mengetahui "file ini diunduh dari Internet [...] dijalankan dengan risiko Anda sendiri [...] hapus centang kotak ke [...]". Saya yakin Anda pernah melihat pesan yang mirip dengan yang ada di kotak munculan sebelumnya. Biasanya ada kotak centang kecil di kiri bawah pop-up yang akan mengingat keputusan Anda maju jika Anda beralih sekali.
Cara lain untuk melihat kotak centang itu adalah klik kanan -> Properti pada file yang Anda unduh. Kotak centang harus di bagian bawah tab General . Beralih kotak centang itu sekali akan menghapus file zona dari biner (sebagai catatan, file zona disimpan dalam aliran data alternatif dari biner yang bersangkutan - tapi itu diskusi lain. Untuk saat ini, cukup gunakan jendela sembulan atau file properties interface untuk memanipulasi file zone .
Pastikan Anda menghapus file zona dari arsip * .zip sebelum membukanya dengan alat zip Windows default. Jika Anda tidak menghapusnya dari file * .zip maka utilitas ZIP akan menandai setiap file yang tidak dibongkar dengan file zona dan kemudian akan merepotkan mendapatkan jendela sembul untuk biner yang Anda jalankan di suite.
Ada dua alat yang akan kita mulai dengan: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)
Anda dapat mereferensikan file * .chm yang sesuai jika Anda ingin mempelajari lebih lanjut tentang mereka. Kita akan mulai dengan Process Explorer dan jika kita tidak dapat dengan cepat menemukan masalah maka kita akan pindah ke Process Monitor (yang sedikit lebih terlibat untuk dijalankan), dan jika kita masih tidak dapat menyelesaikan masalah maka kita akan berbicara tentang mencabut senjata besar. Faktanya adalah, bahwa saya sering menemukan apa yang perlu saya ketahui pada fase pengintaian dan tidak perlu memulai debugger.
Latar Belakang dan Pemahaman
Registri adalah tempat sistem menyimpan pemetaan yang menghubungkan ekstensi file ke aplikasi yang tahu cara menanganinya. Misalnya, Anda dapat menggunakan ftype dan assoc alat baris perintah untuk melihat / memanipulasi pemetaan untuk ekstensi ke aplikasi.
Untuk melihat tipe file yang terkait dengan ekstensi ".txt" jalankan perintah berikut dari terminal.
$> assoc .txt
.txt=txtfile
Ini menunjukkan bahwa ekstensi file .txt ditugaskan ke kelas tipe file txtfile . Kemudian untuk melihat aplikasi yang terkait dengan kelas txtfile , jalankan perintah
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
Alat-alat ini hanya membaca pengaturan registri untuk sistem. Anda dapat melihatnya sendiri dengan alat seperti reg.exe yang akan Anda jalankan dari terminal atau kebanyakan orang lebih suka editor registri GUI regedit.exe . Di lokasi itu Anda akan melihat beberapa ekstensi, kelas tipe file, dan asosiasi aplikasi yang akan Anda cari di bawah sarang HKEY_CLASSES_ROOT. Langsung di bawah sarang itu Anda harus menemukan kunci untuk ".txt", dan juga, "txtfile" dan tentu saja, jauh lebih banyak.
Berikut adalah beberapa contoh menggunakan utilitas assoc dan ftype .
Pastikan Anda memberi makan ekstensi ke asosiasi . Saya pikir Anda sudah tahu ini, tetapi untuk menjadi jelas ekstensi file adalah "titik diikuti oleh 3 atau 4 karakter" yang mengakhiri nama file. Misalnya, application.exe , document.txt , atau presentaion.ppt. The Assoc utilitas mengharapkan Anda untuk memberikan "" dan 3/4 karakter sebagai parameternya.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
Pisahkan dan berbeda dari ekstensi file ada jenis file . Beberapa ekstensi file dapat dikelompokkan menjadi satu jenis file . Pertimbangkan bagaimana ".html" dan ".htm" memetakan ke tipe file yang sama; yaitu, "htmlfile". Contoh di bawah ini mencoba menunjukkan poin ini lebih jauh.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
Selanjutnya, perhatikan bahwa registri berisi kunci berikut di bawah sarang HKEY_CLASSES_ROOT.
- HKCR.html
- HKCR.htm
- HKCR \ htmlfile
Jika ada cara convienent bagi Anda untuk mengunggah / melampirkan / berbagi file txt kemudian jalankan perintah berikut, dan saya akan melihat output yang mereka buat.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
Anda sekarang dapat membuka folder tempat Anda menulis file-file itu dan membagikannya. Perintah berikut harus membuka file juga (jika Anda dapat menemukan file yang Anda buat).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
Jika Anda tidak dapat berbagi seluruh file * .txt dengan saya, maka setidaknya jalankan kedua perintah ini dan masukkan hasilnya ke dalam komentar.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
Jika Anda tidak melihat apa pun di sana, maka Anda harus memulainya dengan mengaturnya menjadi sesuatu. Pastikan Anda memiliki hak istimewa yang ditingkatkan (yaitu, hak administrator) ketika Anda melakukan perubahan itu, jika tidak, mereka mungkin tidak akan berfungsi seperti yang Anda harapkan.
Penjelajah Proses
TODO jika diperlukan
Monitor Proses
TODO jika diperlukan
Menginstal Lingkungan Windows Debugging