最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

調(diào)試JavaScript/VBScript腳本程序(IE篇)

 更新時(shí)間:2009年09月13日 21:12:48   作者:  
JavaScript/VB Script腳本程序一般有兩種執(zhí)行方式,一種是嵌入在宿主程序里面執(zhí)行,比如在IE瀏覽器里面執(zhí)行;另外一種,在資源管理器里面雙擊執(zhí)行(雖然還是通過另外一個(gè)程序解釋執(zhí)行,但是給人的感覺畢竟是直接運(yùn)行)。

這兩種方式,都可以使用Visual Studio來進(jìn)行調(diào)試,先看大家用得比較頻繁的網(wǎng)頁腳本程序的調(diào)試:
1. 要調(diào)試網(wǎng)頁里面的腳本程序,調(diào)試器需要宿主程序—這里也就是IE的支持,實(shí)際上所有的腳本程序解釋器都實(shí)現(xiàn)了一個(gè)COM的調(diào)試接口。調(diào)試器通過查詢解釋器的這個(gè)接口,可以設(shè)置斷點(diǎn),查詢變量以及捕捉異常,當(dāng)然,查詢到這個(gè)接口,需要宿主程序同意……至于如何實(shí)現(xiàn)這個(gè)接口,我們會(huì)在以后的文章里面講到。
2. 默認(rèn)情況下,IE是將腳本調(diào)試支持功能關(guān)閉的,因此你需要顯示地打開它。打開IE,點(diǎn)擊“工具”—“Internet 選項(xiàng)”,在“Internet 選項(xiàng)”里面選擇高級(jí)頁簽,在“設(shè)置”列表里面,找到“禁用腳本調(diào)試(Internet Explorer)”選項(xiàng),它默認(rèn)是勾選上的—將它勾掉。

3. 使用IE打開一個(gè)新的網(wǎng)頁,無論是一個(gè)遠(yuǎn)程的,或者本地的(從本地硬盤打開)網(wǎng)頁。例如下面一個(gè)網(wǎng)頁,另存為test.html:

復(fù)制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JavaScript調(diào)試</title>
<script language=javascript>
function onload() {
var test = unescape("http://www.google.com");
alert(test);
}
</script>
</head>
<body onload="onload()">
</body>
</html>

4. 啟動(dòng)Visual Studio,點(diǎn)擊VS菜單里面的“工具”—“附加到進(jìn)程”菜單,打開“附加到進(jìn)程”窗口里面。Visual Studio其實(shí)支持很多種調(diào)試模式,調(diào)試C++(native)程序,調(diào)試.NET(托管)程序,調(diào)試腳本程序,調(diào)試Silverlight程序以及調(diào)試SQL存儲(chǔ)過程。默認(rèn)情況下,Visual Studio會(huì)根據(jù)附加的進(jìn)程類型來選擇最合適的調(diào)試模式,但是有的時(shí)候,你需要手工設(shè)置一下。例如Internet Explorer這種程序,IE可以同時(shí)運(yùn)行多種子程序,IE本身和ActiveX控件是C++/C寫成的,IE可以運(yùn)行Winform/WPF程序,IE可以運(yùn)行Silverlight程序,當(dāng)然,IE最多的還是運(yùn)行JavaScript/VB Script腳本程序。Visual Studio在附加到Internet Explorer進(jìn)程的時(shí)候,總是會(huì)被IE弄糊涂,所以我們需要手工告知Visual Studio我們希望采用什么調(diào)試模式。
在“附加到進(jìn)程”窗口里面,在“附加到…”(英文是Attach To…)文本框旁邊點(diǎn)擊“選擇”按鈕,在彈出的“選擇代碼類型”窗口里面,勾選“調(diào)試下列類型”,并選擇“腳本”。如下圖所示:

5. 接著你需要在“附加到進(jìn)程”窗口里面選擇要附加的進(jìn)程,在“可用進(jìn)程”(Available Processes)列表里面,有一個(gè)“類型”(Type)列,里面列舉了對(duì)應(yīng)進(jìn)程支持的調(diào)試模式,比如你可以看到在上圖里,好幾個(gè)iexplore.exe支持腳本和C++調(diào)試模式(Script, x86)。因此你所需要做的就是找到執(zhí)行網(wǎng)頁的進(jìn)程,這里我選擇了ID為3732的iexplore.exe,因?yàn)槟莻€(gè)是運(yùn)行第三步網(wǎng)頁的進(jìn)程。最后點(diǎn)擊“附加”(Attach)按鈕使用腳本調(diào)試模式調(diào)試指定的IE進(jìn)程。
注:細(xì)心的網(wǎng)友可能會(huì)看到,ID為1692的iexplore.exe的標(biāo)題是“JavaScript調(diào)試”—對(duì)應(yīng)的就是我們執(zhí)行網(wǎng)頁的瀏覽器進(jìn)程ID。其實(shí)在IE 8以前,選擇執(zhí)行網(wǎng)頁的瀏覽器進(jìn)程一般都是根據(jù)瀏覽器的標(biāo)題做的,但是IE 8里面有一些改變,這個(gè)變化以后的文章里會(huì)講到。
6. 附加上去以后,在網(wǎng)頁的第7行(網(wǎng)頁源碼在第三步里面)設(shè)置一個(gè)斷點(diǎn)—就跟平常調(diào)試C#和C++代碼一樣,設(shè)置好了以后,返回到IE進(jìn)程里面,刷新網(wǎng)頁。這個(gè)時(shí)候,Visual Studio應(yīng)該會(huì)在網(wǎng)頁的第7行中斷IE的執(zhí)行,你可以在“監(jiān)視”(Watch)窗口里面查看腳本變量的值:

相關(guān)文章

  • vscode怎么編譯運(yùn)行

    vscode怎么編譯運(yùn)行

    本文給大家分享的是vscode怎么一鍵編譯運(yùn)行的方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2020-02-02
  • php/asp/asp.net中判斷百度移動(dòng)和PC蜘蛛的實(shí)現(xiàn)代碼

    php/asp/asp.net中判斷百度移動(dòng)和PC蜘蛛的實(shí)現(xiàn)代碼

    這篇文章主要介紹了php/asp/asp.net中判斷百度移動(dòng)和PC蜘蛛的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-09-09
  • 如何給MD5加上salt隨機(jī)鹽值

    如何給MD5加上salt隨機(jī)鹽值

    不知道大家知不知道,在開發(fā)的時(shí)候如果直接給密碼散列,黑客可以通過查散列值字典(例如MD5密碼破解網(wǎng)站),得到某用戶的密碼。但如果加上salt后就會(huì)難上很多,即便是你獲得了其中的salt和最終密文,破解也是相當(dāng)麻煩的。下面跟著小編通過這篇文章來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • 真?zhèn)戊o態(tài)區(qū)別方法分析

    真?zhèn)戊o態(tài)區(qū)別方法分析

    有些用戶覺得,偽靜態(tài)和真靜態(tài)實(shí)際被收錄量會(huì)相差非常大,其實(shí)不然,從你個(gè)人角度,你去判斷一下一個(gè)帖子到底是真靜態(tài)還是偽靜態(tài)?
    2010-01-01
  • 詳解git reset --hard 和 git reset --soft區(qū)別

    詳解git reset --hard 和 git reset --soft區(qū)別

    這篇文章主要介紹了詳解git reset --hard 和 git reset --soft區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • git恢復(fù)刪除的分支及內(nèi)容的方法

    git恢復(fù)刪除的分支及內(nèi)容的方法

    下面小編就為大家?guī)硪黄猤it恢復(fù)刪除的分支及內(nèi)容的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 解決git誤commit大文件導(dǎo)致不能push問題

    解決git誤commit大文件導(dǎo)致不能push問題

    這篇文章主要介紹了解決git誤commit大文件導(dǎo)致不能push問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 使用git處理github中提交有沖突的pull request的問題

    使用git處理github中提交有沖突的pull request的問題

    這篇文章主要介紹了使用git處理github中提交有沖突的pull request,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • vscode中模糊搜索和替換案例解析

    vscode中模糊搜索和替換案例解析

    這篇文章主要介紹了vscode中模糊搜索和替換案例解析,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

    老生常談Session和Cookie之間區(qū)別與聯(lián)系(必看篇)

    下面小編就為大家分享一篇老生常談Session和Cookie之間區(qū)別與聯(lián)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11

最新評(píng)論

黄平县| 平阳县| 永仁县| 房产| 信阳市| 濮阳市| 昌江| 桂阳县| 木里| 阳曲县| 池州市| 忻城县| 贵定县| 曲水县| 邢台市| 巴彦县| 邵阳市| 什邡市| 来安县| 郑州市| 孝感市| 蒙山县| 华蓥市| 布拖县| 镇原县| 平谷区| 广西| 吐鲁番市| 磐石市| 新泰市| 莱芜市| 扎囊县| 新田县| 万荣县| 吐鲁番市| 修武县| 甘德县| 建水县| 万宁市| 太保市| 万山特区|