• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大漠落日

            while(!dead) study++;
            posts - 46, comments - 126, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            VS2005遠程調試攻略

            Posted on 2011-05-24 15:23 亂78糟 閱讀(5577) 評論(0)  編輯 收藏 引用 所屬分類: 重要資料
            怎么說呢,介紹遠程調試的文章網絡上其實有不少,我這里也會涉及到,但會更加的詳細和細致,比如win7(32、64)系統下的調試,家庭版的調試,以及一些常見問題的原因和解決辦法。


            一般我們都會這么操作,比如在VISTA之前的系統如,2K, XP, 2003下(這里都是32位):

            (1) 遠程端:安裝VS2005光盤"\vs\Remote Debugger\x86\rdbgsetup.exe"?;蛘咧苯舆\行或copy本地端的: "Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86"
            (2) 遠程端:“本地安全策略 - 安全選項 - 網絡訪問:本地帳戶的共享和安全模式”改為:經典-本地用戶以自己的身份驗證。
            (3) 遠程端:啟動Remote Debuger,從“工具 - 選項”中將身份驗證模式改為“無身份驗證,允許任何用戶進行調試”。
            或者直接用命令行:"\ msvsmon.exe" /noauth /anyuser /nosecuritywarn,可以建個快捷方式以方便運行。
            (4) 將需要調試的程序debug版本和相應的pdb文件(包含調試信息)拷貝到遠程主機,啟動該debug版本程序。
            (5) 本地:在VS2005中,“工具”--“附加到進程”,傳輸選“遠程”,限定符輸入遠程端的主機名或IP地址,回車,選擇我們需要調試的應用程序。如果一切正常,那么我們現在可以像調試本機程序一樣調試遠程主機上運行的debug版本了。

            細節和常見問題:

            (1)如果是64位系統,請選擇x64,即\vs\Remote Debugger\x64\rdbgsetup.exe;
            (2)不要因為遠程主機是64位的,就使用64位的remote debugger,它必須和你的應用程序匹配,即統一為32位,或64位。
            (3)如果是家庭版,控制面板管理工具里是沒有“本地安裝策略”這個工具的,那么只能通過修改注冊表來實現,注冊表項:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa], 找到“forceguest”,如果它的值為1,即dword:00000001,表示“僅來賓 - 對本地用戶進行身份驗證,其身份為來賓”(這個描述win7和之前的系統稍有不同),如果值為0,即dword:00000000,表示“經典 - 對本地用戶進行身份驗證,不改變其本來身份”。我們需要的值為0。
            (4)win7/vista下遠程連接到目標主機,已經成功顯示了進程列表,但是attach待調試程序時候本地出現提示“Unable to attach the process - 系統找不到指定的文件 ”,這是因為remote debugger權限不足導致,以管理員權限重新啟動remote debugger解決該問題。
            (5)成功attach到遠程主機目標程序,但是本地無法下斷點,或者斷點下了之后處于不可被觸發狀態。解決辦法:rebuild整個工程,然后將重新編譯的程序和pdb文件覆蓋遠程主機相應文件(這個和本地調試完全一樣是不:P)。
            (6)debug版本的程序拷到遠程主機之后,無法運行,那好因為缺少相應的debug版本動態庫和相關版本配置文件(可以用VS附帶工具Depends查看)。以MFC程序為例,需要如下操作:
            1)將VS目錄下Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86下的三個目錄相應的動態庫拷貝到遠程主機應用程序根目錄下或者c:\windows\system32\目錄下。
            2)在c:\windows\winsxs\目錄下找到編譯主機vs2005版本匹配的目錄:Microsoft.VC80.DebugCRT、Microsoft.VC80.DebugMFC,將他們拷貝到目標主機c:\windows\winsxs目錄下。在將本地winsxs\Manifests\目錄下的幾個相應文件拷貝到目標主機這個目錄下。最后將本機winsxs\Policies\目錄下的相應子文件拷貝到相同目錄下。這個鏈接說的更加的詳細:http://wenwen.soso.com/z/q165079372.htm
            注意:win7/vsita下winsxs是沒有權限往里面寫東西的,所以要更改權限,這個可以網上搜索,我就不詳述了。

            現在已經可以正常運行debug版本的程序了,即便該主機沒有開發環境:)。


            PS: 一直不會用CPP BLOG的編輯器,真是煩惱- -!              
            丰满少妇人妻久久久久久| 热久久这里只有精品| 亚洲精品久久久www| 亚洲精品第一综合99久久| 亚洲精品NV久久久久久久久久| 久久国产影院| 伊人久久精品无码二区麻豆| 天天影视色香欲综合久久| 精品久久久久久久国产潘金莲| 亚洲色欲久久久综合网| 国产精品久久久久久福利漫画 | 色欲综合久久躁天天躁| 亚洲人AV永久一区二区三区久久| 亚洲日本va午夜中文字幕久久| 伊人久久无码中文字幕| 88久久精品无码一区二区毛片| 久久久久亚洲精品天堂久久久久久| 97久久国产综合精品女不卡| 久久精品国产精品亚洲精品| 欧美熟妇另类久久久久久不卡 | 精品乱码久久久久久夜夜嗨| 久久国产成人午夜aⅴ影院| 中文字幕无码精品亚洲资源网久久| 久久国产精品-久久精品| 亚洲欧美日韩久久精品| 国产精品久久精品| 香蕉久久av一区二区三区| 久久久WWW免费人成精品| 精品久久久久久亚洲| 日韩中文久久| 亚洲七七久久精品中文国产| 亚洲AV日韩精品久久久久久| 国产精品无码久久综合网| 久久久久久久久久久久中文字幕| 午夜精品久久久久久影视777| 91亚洲国产成人久久精品| 99久久99这里只有免费的精品| 亚洲色大成网站www久久九| 久久久久久精品久久久久| 久久亚洲国产最新网站| 亚洲欧美日韩久久精品|