CARA: Debug aplikasi antarmuka Gateway umum berjalan di bawah IIS dengan menggunakan Visual Studio

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 238788 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara untuk men-debug aplikasi Common Gateway Interface (CGI) yang berjalan di bawah Internet Information Services (IIS) dengan menggunakan versi Visual Studio.

Debug Visual C CGI aplikasi dengan menggunakan Visual Studio

Untuk men-debug aplikasi Visual C CGI dengan menggunakan versi Visual Studio, ikuti langkah berikut:
  1. IIS Admin layanan harus berinteraksi dengan desktop. Pada mengkonfigurasi ini, ikuti langkah berikut:
    1. Terbuka Control Panel dan ikuti langkah-langkah ini:
      • Untuk Windows NT: klik Layanan.
      • Untuk Windows 2000, Windows XP, dan.NET Server: Klik Alat administratif, lalu klik Layanan.
    2. Klik dua kali IIS Admin layanan.
    3. Pada Logon tab, pilih Memungkinkan layanan untuk berinteraksi dengan Desktop kotak centang.

      Catatan Artikel ini mengasumsikan bahwa IIS Admin layanan berjalan sebagai lokal sistem.
    4. Berhenti dan restart layanan Admin IIS.
  2. Sebelum Anda memasukkan berkas Windows.h, menambahkan berikut kode, dan kemudian membangun versi debug CGI:
    #define _WIN32_WINNT 0x0400
    					
  3. Paste kode berikut di awal CGI:
    #ifdef _DEBUG
    char szMessage [256];
    wsprintf (szMessage, "Please attach a debugger to the process 0x%X (%s) and click OK",
          GetCurrentProcessId(), argv[0]);
    MessageBox(NULL, szMessage, "CGI Debug Time!",
          MB_OK|MB_SERVICE_NOTIFICATION);
    #endif
    					
  4. Mulai aplikasi CGI.
  5. Melampirkan debugger (seperti WinDBG atau Visual C) untuk CGI proses sementara kotak pesan ditampilkan.
  6. Ketika debugger terpasang, buka file sumber dan mengatur break titik, dan kemudian klik Oke.

    Ketika kotak pesan ditutup, CGI program resume dan titik istirahat akan memukul.

Menggunakan WinDBG

Untuk men-debug aplikasi CGI dengan WinDBG, meskipun Anda tidak memiliki untuk mengubah kode apapun, Anda harus akrab dengan WinDBG dan menginstal alat debugging. Anda dapat men-download alat debugging dari berikut Microsoft Web site:
Microsoft Debugging Tools
http://www.Microsoft.com/whdc/DevTools/DDK/default.mspx

Mengatur pilihan layanan

Menetapkan Gambar File eksekusi pilihan sehingga ketika layanan (atau CGI program) mulai, itu dimulai di bawah debugger. Pastikan bahwa layanan dapat berinteraksi dengan desktop, seperti yang diperintahkan pada awal artikel ini. Sebaliknya, ketika CGI program mulai, itu banyak debugger dan Anda tidak akan melihatnya.
  1. Mulai Peninjau Suntingan Registri (Regedt32.exe):

    Klik Mulai, klik Menjalankan, kemudian ketik Regedt32.
  2. Temukan kunci registri berikut:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File eksekusi Options\]
  3. Membuat subkunci dengan nama file eksekusi CGI (misalnya, MyCGI.exe).
  4. Untuk subkunci ini, tambahkan nilai REG_SZ bernama Debugger dan penuh jalan untuk debugger, tetapi mengabaikan ekstensi ".exe". Anda juga dapat menambahkan perintah untuk debugger. Lokasi default untuk menginstal WinDBG adalah berikut:
    "Debugger"="C:\\Debuggers\\windbg.exe"
    Catatan Jalan yang menunjuk ke WinDBG debugger harus tidak mengandung spasi atau ekstensi file. Sebagai contoh, windbg, seperti ditunjukkan pada berikut:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File eksekusi Options\yourCGI.exe "Debugger"="C:\windbg"
  5. Tutup Penyunting Registri.
  6. Berhenti dan mulai layanan IISADMIN, dan kemudian jalankan CGI program.

    Catatan Untuk debugger muncul di desktop default, IIS Admin layanan harus dijalankan sebagai sistem lokal, dan Anda harus memilih Memungkinkan layanan untuk berinteraksi dengan Desktop kotak centang. Untuk mengkonfigurasi ini, pergi ke langkah 1 petunjuk sebelumnya dalam artikel ini.
  7. Debugger akan mulai ketika gambar untuk layanan file eksekusi di-load ke memori.
Catatan Anda mungkin perlu mengatur nilai CreateProcessAsUser properti di metabase untuk palsu untuk melampirkan debugger. Hal ini karena account yang CGI aplikasi berjalan di mungkin tidak mewarisi Memungkinkan layanan untuk berinteraksi dengan desktop pengaturan untuk layanan IIS admin ketika file eksekusi CGI melahirkan. Anda dapat menggunakan script administratif adsutil.vbs untuk mengatur Memungkinkan layanan untuk berinteraksi dengan desktop pengaturan. Secara default, pengaturan ini benar. Sebagai contoh, gunakan perintah berikut:
adsutil.VBS w3svc/CreateProcessAsUser "palsu"

REFERENSI

Untuk informasi tambahan tentang debugging, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
273639 CARA: Mulai IISAdmin dan layanan tergantung di bawah Debugger
286350 CARA: Menggunakan ADPlus untuk memecahkan "Menggantung" dan "Crash"
261871 INFO: COM + dan MTS Debugging sumber daya
183480 CARA: Debug ISAPI dll di bawah IIS 4.0 dan IIS 5.0

Properti

ID Artikel: 238788 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Internet Information Server 2.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Services 6.0
Kata kunci: 
kbcgi kbhowto kbhowtomaster kbmt KB238788 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:238788

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com