- C++服務器開發(fā)精髓
- 張遠龍
- 733字
- 2021-07-23 18:22:28
2.11 使用VisualGDB調試
VisualGDB是一款 Visual Studio 插件,安裝以后可以在 Windows 系統(tǒng)上使用 Visual Studio調試遠程Linux程序,這樣做的好處就是可以利用Visual Studio強大的代碼閱讀和調試功能。可能有讀者會說,從Visual Studio 2015開始,Visual Studio不是已經自帶調試Linux程序的功能了么?很遺憾,Visual Studio 2015或者2017自帶的調試Linux程序的功能很雞肋,調試一些簡單的Linux小程序還可以,調試復雜的或者有多個源文件的Linux程序就難了。VisualGDB 是一款功能強大的商業(yè)軟件,在本質上是利用 SSH 協(xié)議連接到遠程Linux機器,然后利用Visual Studio產生相應的gdb命令,通過遠程機器上的gdbserver傳遞給遠程gdb調試器。其代碼閱讀功能建立在samba文件服務器之上。
使用這個工具遠程調試Linux程序的方法有兩種,下面一一進行講解。
2.11.1 使用VisualGDB調試已經運行的程序
如果一個Linux程序已經運行,則可以使用VisualGDB的遠程attach功能。為了方便演示,我們將Linux機器上的redis-server運行起來:

安裝好VisualGDB插件以后,我們在Visual Studio的Tools菜單中選擇Linux Source Cache Manager菜單項,將彈出如下對話框。

單擊Add按鈕,配置需要調試的Linux程序所在的Linux機器地址、用戶名和密碼。

然后在Debug菜單中選擇Attach to Process...菜單項,將彈出Attach To Process對話框,對Transport類型選“VisualGDB”,對Qualifier選擇我們剛才配置的Linux主機信息。如果連接沒問題,則在下面的進程列表中會彈出遠程主機的進程列表,選擇剛才啟動的redis-server,然后單擊Attach按鈕。

這樣就可以在Visual Studio中調試這個Linux進程了。

2.11.2 使用VisualGDB從頭調試程序
更多的時候,我們需要從一個程序啟動處(main函數處)調試程序,例如學習Redis源碼時使用VisualGDB也是很方便的。在Visual Studio的DEBUG菜單中選擇Quick Debug With GDB菜單項,在彈出的對話框中配置Linux程序所在的地址和目錄。

再單擊圖中Debug按鈕,就可以啟動調試了。

我們的程序會自動停在main函數處,這樣就能利用強大的Visual Studio對redis-server進行調試了。當然,也可以在 VisualGDB提供的 GDB Session窗口中直接輸入 gdb的原始命令進行調試。

在VisualGDB中也存在一些缺點,調試Linux程序時可能會存在卡頓、延遲等現象。
- AngularJS入門與進階
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- 深入淺出Java虛擬機:JVM原理與實戰(zhàn)
- PowerCLI Cookbook
- Mastering Spring MVC 4
- Java Web及其框架技術
- Learn WebAssembly
- HDInsight Essentials(Second Edition)
- Learning Vaadin 7(Second Edition)
- 單片機C語言程序設計實訓100例
- Multithreading in C# 5.0 Cookbook
- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- Android傳感器開發(fā)與智能設備案例實戰(zhàn)
- INSTANT JQuery Flot Visual Data Analysis
- Drupal Search Engine Optimization