1. 程式人生 > >[debug_master] 使用USB 3.0進行windbg除錯

[debug_master] 使用USB 3.0進行windbg除錯

1. 名詞約定

  • 目標機(target):被除錯機器
  • 主機(host):執行除錯工具(windbg)的機器

2. 系統要求

1> USB 3.0除錯線
特殊定製的USB 3.0 AM-AM線纜,淘寶可以直接買到,連結: https://shop129099241.taobao.com
2> 作業系統
Windows 8 或 Windows Server 2012以上版本(主機,目標機)
3> 目標機
支援除錯(參考”設定目標機”一節)的xHCI(usb 3.0)控制器
4> 主機
xHCI(usb 3.0)控制器

3. 設定目標機

1> 在目標機上執行

UsbView
2> 找出所有的xHCI Controller
3> 查詢xHCI Controller下的Port,找到支援除錯的埠

[Port10] 
Is Port User Connectable:         yes
Is Port Debug Capable:            yes
Companion Port Number:            1
Companion Hub Symbolic Link Name: ...
Protocols Supported:
 USB 1.1:                         no
 USB 2.0
: no USB 3.0: yes ConnectionStatus: NoDeviceConnected

需滿足

UserConnectable == yes And DebugCapable == yes

4> [可跳過] 記錄下此Port對應的xHCI Controller的BDF值(十進位制)

Bus.Device.Function (in decimal): 0.20.0

5> 找出電腦上這個Port對應的插口。用一個usb 3.0的u盤去試你電腦上的usb口,如果在usbview裡顯示插到了支援除錯的口上,就可以了。
6> 管理員許可權開啟cmd,執行

  • bcdedit /debug on
  • bcdedit /dbgsettings usb targetname:TargetName
    TargetName可任意指定,長度必須小於24個字元,只能包含-, _, 0-9, a-z, A-Z

7> [可跳過] 如果你的電腦上不止一個usb controller,額外輸入

bcdedit /set "{dbgsettings}" busparams b.d.f

b.d.f為第4步中獲得的數字,同樣為十進位制
在我們的例子裡,

bcdedit /set "{dbgsettings}" busparams 0.20.0

8> 核對設定,可跳過

  • bcdedit /dbgsettings
  • bcdedit /enum

9> 重啟

3. 設定主機

1> 使用usb除錯線連線目標機和主機的usb 3.0介面。主機端可以用Hub,但必須使用3.0的Hub接在3.0的埠上。
2> 檢查主機系統是32位還是64位的,執行相同位寬的windbg。如果您是第一次設定,務必使用管理員許可權
3> 開啟File選單,選擇Kernel Debug. 開啟USB標籤,輸入你上面設定的TargetName,點選OK.
4> 如果是第一次,會自動安裝驅動
5> 在主機的裝置管理器裡,會看到:
host_device_manager

4. 故障排除

1> 嘗試主機和目標機上不同的usb3.0 口
2> 關閉主機xHCI Controller的省電模式
2.1> 開啟裝置管理器,按connection排序。找到xHCI Controller,右鍵,屬性。電源管理標籤,Allow the computer to turn off this device to save power的勾去掉。
2.2> 再找到xHCI Controller下面Root Hub的節點。右鍵,屬性。電源管理標籤,Allow the computer to turn off this device to save power的勾去掉(同上)。
3> 檢查是否以管理員許可權執行 windbg,32/64位是否選對。

相關推薦

[debug_master] 使用USB 3.0進行windbg除錯

1. 名詞約定 目標機(target):被除錯機器 主機(host):執行除錯工具(windbg)的機器 2. 系統要求 1> USB 3.0除錯線 特殊定製的USB 3.0 AM-AM線纜,淘寶可以直接買到,連結: https://sho

電腦是如何識別USB 3.0 U盤的

http://blog.csdn.net/zoosenpin/article/details/31735727   1如何識別USB快閃記憶體盤 USB 3.0電纜如圖1-1所示。   圖1-1 USB 3.0的介面比USB 2.0介面多了5根線,這

Android Studio 3.0+ 無原始碼除錯apk

Android Studio 3.0+ 無原始碼除錯debuggable=false apk 一、準備一臺支援debug程式的裝置 把裝置root掉 修改測試機的 /default.prop 檔案的ro.debuggable=1,目測這一步也可能需要root。

Spark2.3.0 結構化流 進行streaming+kafka的可操作運算元流

工作上正在進行Streaming運算元的研究學習,需要做到在流的基礎上,通過kafka接收資料到 中間若干的計算運算元,再到最後的輸出。開始使用傳統的streaming+kafka,但由於無法返回後續使用的dataset,只能放棄, 後來大牛提出永spark的結構化流處理,於是經過參考文件資料編

Android studio 3.0進行多渠道打包

1.生成簽名檔案 點選 Build -> Generate Signed APK: 2.建立一個簽名 3.多渠道打包 作用:就是根據不同的渠道值,去具體分析每個渠道的使用者情況 步驟一: 3.1在AndroidManifest.xml的application

OpenCV 在C#下的版本EmguCV 3.3.0在Visual Studio 2017 下的安裝除錯

Emgu CV是基於opencv的庫在C# 下再次封裝的庫。可以方便的在C#下除錯。 第一次執行發現不是一次成功,在此記錄除錯方法,供日後參考。 按照其官網文件說明,安裝後,找到Emgu\emgucv-windesktop 3.3.0.2824\Solution\Windows.De

升級還是權謀?從USB PD 2.03.0

原文出處 http://www.eetop.cn/blog/html/43/n-433743.html   如同iPhone的出現,才讓智慧機真正主導手機市場一樣,Type-C口釋出後,USB PD才正式進入大眾的視野。而事實上,USB PD 1.0的標準在201

asp.net mvc 3.0詳細筆記__17__使用 DataAnnotations 進行模型驗證

         歡迎一起來學習MVC 3.0,我們在一步一個腳印的做一個MVC 3.0的專案,期間會有很多值得探索的地方。將會學到Razor,Lampda,Entity Framework,Linq

Vue2.3.0+使用.sync修飾符對prop進行雙向繫結/子元件同步prop到父元件繫結的值

vue2.3.0+使用.sync修飾符對prop進行雙向繫結背景、概念:在一些情況下,我們可能會需要對一個 prop 進行“雙向繫結”。事實上,這正是 Vue 1.x 中的.sync 修飾符所提供的功能

Java呼叫語言技術平臺(LTP) 3.4.0進行漢語文字處理經驗總結

1. 語言技術平臺(LTP)介紹https://www.ltp-cloud.com//Users/zhangyongwei/Downloads/ltp4j2/ltp4j/ltp4j2/ltp4j/target/nar/ltp4j-0.1.0-SNAPSHOT-x86_64-M

Win7 64位中文旗艦版上Cocos2d-x 3.0的Android開發除錯環境架設

系統環境: Win764位中文旗艦版 各元件的版本: VS2012 Python2.7.6 x86 安裝步驟: 1.    預設安裝VS2012 2.    預設安裝Python 2.7.6,修改環境變數Path wmic ENVIRONMENT

使用windbg進行核心除錯

1.因為核心除錯涉及到的是windows系統,所以只能在windows上執行,首先安裝xp虛擬機器;2.然後配置boot.ini檔案,由於boot.ini檔案在xp系統中是被隱藏的,所以需要先取消xp的隱藏資料夾選項,具體步驟:1)開啟的“我的電腦選項”->選擇“工具”

(轉載)BOX2D V2.3.0 使用者手冊中文版(第12章)-除錯繪圖

Chapter 12 除錯繪圖 實現 b2DebugDraw 可得到物理世界的細部圖,這裡是可用的實體: • 形狀輪廓 • 關節連通性 • broad-phase axis-aligned bounding boxes (AABBs) •

ESP8266-01學習筆記01:如何使用USB轉串列埠對ESP-01進行入門除錯、燒錄韌體?

ESP8266 是一個帶完整 WiFi 功能、 同時帶一個 32bit MCU 的 SoC,可以取代原 Arduino 核心板 + WiFi 擴充套件板完成的大部分應用。 最重要的,他的價格,只有 RMB 10 塊左右,帶 1MB Flash 的模組價格,也只

使用AFNetworking 3.0進行網路請求時,取消單個佇列和全部佇列的方法(取消網路請求)

        專案中有時會有這種情況,當介面正在請求資料,但資料為返回之前。返回到上一個介面,這種情況下,應取消此介面的網路請求。此篇就是為了處理此種情況下的操作,可        以取消單個請求佇

mysql 5.7.3.0-m13安裝教程

com 處理 技術分享 mysql 5.7 bench aid target 驗證 htm 安裝mysql百度經驗地址:(默認安裝,除了選擇不更新和選擇保存路徑,其它基本是下一步下一步) http://jingyan.baidu.com/article/7e4409

Package gtk+-3.0 was not found in the pkg-config search path

path 二進制 all 項目 有時 rpm fedora ack share 問題描述:   在fedora21系統上通過rpmbuild構建fcitx的二進制包時出現以上錯誤,經老程序員指點:“是相應的開發包沒有安裝” 解決辦法:   yum installl gtk3

Yasm 1.3.0 Release Notes

seh st3 require sys storage uil ble ear welcom Yasm 1.3.0 Release Notes http://yasm.tortall.net/releases/Release1.3.0.html Target Audie

Cocos2d-x 3.0 打造一個全平臺概念文件夾

android cocos2d www 全平臺 -s http 概念 1-1 style Cocos2d-x 3.0 打造一個全平臺概念文件夾http:// www.eoeandroid.com/thread-328055-1-1.html Cocos2d

cocos2d-x 3.0 final 移植 android

filename details blank each 連接 python 頭文件 osd 需求 準備工作 你僅僅要依照上一篇的 cocos2d-x 3.0 final 環境搭建 完畢就能夠了 1.編輯proj.android\jni\Android.mk,更改內