以前收集的一些資料---如何調試ASP服務端的組件技術

來源:互聯網
上載者:User
        如何調試ASP服務端的組件技術
    本文主要介紹如何調試ASP服務端組件技術,包括這個複雜的
出錯資訊:
    一、ASP 0115 Error。
    二、代碼在單獨的EXE檔案裡面運行良好,但是一旦放入ASP中
        產生調用失敗的資訊
本文背景:    
第一種情況:你在你的瀏覽器中可否看見過這種資訊呢?
Error 'ASP 0115'
Unexpected error
/<Web Name>/<ASP file name>.asp
A trappable error occurred in an external object. The script
cannot continue running.
    這就是令每個程式員都頭疼的ASP 0115錯誤,這個錯誤可以由很多原因
    而導致的。也許許多人會推測可能是由於微軟本身的bug而導致的,
    並抱怨是由於微軟沒有給出響應的補丁。
    其實在實踐中有一些確實如此,但是大多數情況下事實並不是如此。
    而很多是由於你自己寫的代碼中錯誤的訪問了Inetinfo.exe的進程而產生的。

第二種情況:你是否遇到過這種尷尬的情況,自己寫的代碼如果是在一個exe項目種
能夠良好的運行,但是一旦你從一個ASP頁面種調用它的時候,就會失敗呢?
    同樣,發生這個現象的原因也很多,而其中的大多數原因是由於ASP是運行
    在一個特定的系統帳號下的,在這樣的背景下,它啟動並執行許可權是一個不
    容忽視的問題。
    
    我想,做了這麼久的程式員,很多人都有豐富地單獨調試一個EXE程式的
    經驗了,但是當你是在編寫運行在IIS環境下的程式時,你將面臨和傳統
    的調試更多的挑戰。
    儘管可以使用VB或則VC++來編寫ASP的組件,但是VC++的調試器都將是你
    最好的調試工具。

準備好你的組件
    為了調試你編寫的組件,你必須要有調試需要的資訊。 Symbols允許在你
    的組件出錯時顯示出是你編寫的代碼中的第幾行出現了錯誤。

那我們在VB中如何產生組件需要的symbols呢?
    如果你的組件是使用VB編寫的話,你可以通過選擇Compile菜單中的Project
     Properties命令來建立你的組件的調試資訊.
     確保你將代碼編譯成'Native Code'和使用'No Optimization'.  

那我們在VC++中如何產生組件需要的symbols呢?

    如果你的組件是使用VC++編寫的話,最簡單的方法是選擇調試配置來產生
    調試資訊。從Build菜單中單擊'Set Active Project Configuration'.你
    將發現'Win32 Debug'這個選項。
    或則, 你可以手工來定義組件需要包含的調試出錯資訊,選擇Project菜單
    中的Settings然後到Link頁.確保Generate debug info被選中。

開始調試進程
    在前面已經提到了,我們將使用VC++來完成調試工作。好,運行它,
    當然沒有必要建立一個項目或則工作間了。
    選擇Build菜單中的Start Debug中的Attach to Process. 在Attach to
    Process對話方塊中,選中Show System Processes.從列表框中找到
    進程inetinfo, 然後單擊OK。

    下一步,你要確保symbols已經被轉載入記憶體。從Project菜單中,單擊
    Settings選擇Debug頁,從Category下拉框中選擇Additional DLLs'
    如果你沒有在列表中看到你編寫的組件,單擊第一行空行,然後輸入
    檔案名稱,或則選擇那個'...'按鈕來尋找這個檔案名稱,單擊OK。

    好了,現在你已經裝載了你的symbols,你需要裝載一些原始碼。
    從File菜單中選擇Open.找到你想調試的源檔案。如果你的組件是使用VB
    編寫的話,確保在Files of Type下拉框中選擇所有檔案類型,然後找到你
    需要的檔案後,單擊Open。
    
    好了,現在你可以在你的代碼中放置斷點,設定觀察值,查看呼叫堆疊
    等等就象你在調試一個傳統的exe一樣了。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。