• <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糟 閱讀(5556) 評論(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无码免费网| 久久亚洲色一区二区三区| 久久性精品| 久久久久久午夜成人影院| 国产产无码乱码精品久久鸭| 99久久国产综合精品网成人影院 | 777米奇久久最新地址| 精品久久久久中文字幕一区| 国产成年无码久久久免费| 91精品国产乱码久久久久久| 亚洲AⅤ优女AV综合久久久| a级成人毛片久久| 久久精品日日躁夜夜躁欧美| 97r久久精品国产99国产精| 久久久久国产一区二区| 久久99精品久久久久久| 久久亚洲AV成人出白浆无码国产| 国产三级精品久久| 国产精品99久久免费观看| 亚洲精品无码久久久久久| 久久中文字幕视频、最近更新 | 久久AV高潮AV无码AV| 国产精品免费看久久久香蕉| 久久精品蜜芽亚洲国产AV| 亚洲精品国产美女久久久 | 午夜久久久久久禁播电影| 久久久WWW成人免费精品| 日韩一区二区久久久久久| 99久久99这里只有免费的精品| 国产69精品久久久久9999APGF | AAA级久久久精品无码区| 成人久久久观看免费毛片| 久久亚洲AV成人无码电影| 色欲综合久久中文字幕网| 狠狠色丁香久久婷婷综合| 亚洲人成网亚洲欧洲无码久久| 久久久久久久精品成人热色戒| 久久精品国产亚洲AV影院| 国内精品人妻无码久久久影院导航|