• <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的編輯器,真是煩惱- -!              
            99久久婷婷国产综合精品草原| 国产亚洲精久久久久久无码AV| 久久人妻AV中文字幕| 国产精品久久新婚兰兰| 77777亚洲午夜久久多喷| 免费精品国产日韩热久久| 久久精品国产乱子伦| 国产精品久久久久久福利漫画| 人人狠狠综合久久亚洲| 精品人妻久久久久久888| 蜜桃麻豆www久久国产精品| 日韩精品久久久久久久电影蜜臀 | 69SEX久久精品国产麻豆| 久久亚洲AV无码西西人体| 成人妇女免费播放久久久| 亚洲v国产v天堂a无码久久| 久久精品国产99国产电影网| 狠狠色噜噜色狠狠狠综合久久| 99久久婷婷国产一区二区| 91精品国产综合久久精品| 日韩精品久久久久久免费| 国产精品久久久香蕉| 欧美激情一区二区久久久| 久久久久久极精品久久久| 青青国产成人久久91网| 99久久国产热无码精品免费| 伊人久久大香线焦AV综合影院| 亚洲AV伊人久久青青草原| 久久婷婷色综合一区二区| 久久久久国产精品麻豆AR影院| 久久免费高清视频| 人人狠狠综合久久亚洲婷婷| 色综合久久精品中文字幕首页| 99久久免费国产精精品| 99久久婷婷免费国产综合精品| 久久精品国产亚洲AV高清热| 少妇久久久久久久久久| 色8久久人人97超碰香蕉987| 无码专区久久综合久中文字幕| 亚洲狠狠婷婷综合久久久久| 久久精品人人做人人爽电影蜜月|