• <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糟 閱讀(5568) 評論(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久久婷婷国产综合精品草原| 国内精品伊人久久久影院| 少妇高潮惨叫久久久久久 | 无码国内精品久久人妻麻豆按摩 | 国产欧美久久一区二区| 久久久久99精品成人片| 7777精品久久久大香线蕉| 四虎国产精品免费久久久| 亚洲国产婷婷香蕉久久久久久| 久久精品中文无码资源站| 亚洲精品99久久久久中文字幕 | 欧美日韩精品久久免费| 欧美综合天天夜夜久久| 久久国产成人精品国产成人亚洲| 久久久精品国产免大香伊| 久久亚洲国产精品123区| 99久久99久久| 日日噜噜夜夜狠狠久久丁香五月 | 无码AV波多野结衣久久| 人妻中文久久久久| 国内精品久久久久影院网站| 久久精品国产久精国产思思| 久久天天躁狠狠躁夜夜不卡| 欧美久久一区二区三区| 精品久久久久中文字幕一区| 久久精品国产一区| 久久亚洲国产精品一区二区| 久久天天躁狠狠躁夜夜avapp| 久久亚洲日韩看片无码| 四虎国产精品成人免费久久| 热久久视久久精品18| 亚洲欧美成人久久综合中文网| 久久国产热这里只有精品| 久久精品国产色蜜蜜麻豆| 久久乐国产精品亚洲综合| 亚洲精品97久久中文字幕无码| 亚洲精品乱码久久久久久蜜桃| 亚洲国产成人精品91久久久 | 亚洲人成精品久久久久| 99久久精品国产一区二区|