⑴ 如何在Windows下編譯或調試MySQL
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(簡稱VS Code)是由微軟開發的,同時支持Windows、linux和macOS操作系統的開源文本編輯器。它支持調試,內置了Git 版本控制功能,同時也具有開發環境功能,例如代碼補全(類似於IntelliSense)、代碼片段、代碼重構等。該編輯器支持用戶自定義配置,例如改變主題顏色、鍵盤快捷方式、編輯器屬性和其他參數,還支持擴展程序並在編輯器中內置了擴展程序管理的功能。
安裝LLDB
LLDB是LLVM編譯器的一部分,推薦使用Homebrew安裝LLVM工具集,不建議使用系統自帶的LLDB,安裝前必須先創建證書否則無法安裝,步驟如下:
創建完成後,開始安裝LLVM
brew install llvm --with-python@2--with-lldb
安裝插件
VS Code自帶有debug功能,這里我推薦使用LLDB Debugger插件。
接下來,為項目配置調試參數。
配置調試參數
使用VS Code打開MySQL源碼目錄,在側邊欄選擇debug欄目,添加配置,program輸入需要調試的程序路徑,這里選擇你編譯好的mysqld路徑,args輸入程序啟動所需的參數,通常會指定mysqld的配置文件。這樣就配置好了,是不是很簡單。
啟動調試
點擊啟動按鈕,啟動後如果沒有設置斷點會mysqld會正常啟動,如果觸發了斷點會如下圖顯示。
整個調試窗口基本分為六部分,所有的調試操作都在這里完成:
1:顯示變數信息
2:設置重點關注的變數
3:顯示調用棧信息
4:設置斷點信息,在代碼行號前也可以設置斷點
5:代碼顯示區域,上方是調試按鈕,包括 continue/stepover/step in/step out/restart/stop
6:調試終端輸入輸出區
斷點設置
在代碼行號前點擊即可在該行為設置斷點,也可以根據條件設置斷點。以設置ConditionalBreakpoint為例,當程序啟動後會按照你設置的條件表達式判斷是否觸發斷點。
Conditional Breakpoint這種方式用在目標變數達到某條件時觸發斷點,其餘則跳過繼續執行。比如:設置變數等於目標表名時觸發斷點,其餘表則跳過,相對函數名斷點省去很多手工跳過操作。
遠程調試
假如你想調試遠程Linux伺服器上的MySQL上面的方法就不合適了,這時需要遠程調試。lldb和gdb都支持遠程調試,這里以lldb為例。
需要先在遠程主機上安裝lldb,使用yum安裝,源地址在這里http://mirror.centos.org/centos/7/sclo/x86_64/rh
remote$ yum install -y llvm-toolset-7
安裝完成後,啟動lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server
接下來,在VS Code調試界面中新增配置項。
{
"type":"lldb",
"request":"attach",
"name":"Remote attach",
"program":"~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"<target_pid>",
"initCommands": [
"platform select remote-linux",
"platform connect connect://<remote_host>:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"
}
},
program:本機也要拷貝一份目標程序,載入
pid:填寫遠程主機的mysqld進程id
sourceMap:填寫mysqld編譯的代碼路徑與本機代碼庫路徑的映射,這樣調試時代碼才可以和程序關聯在一起看
注意:記得調試前將代碼切換到與目標程序版本一致的branch
⑵ VLC源代碼包如何在linux下編譯+調試
你是為了裝軟體還是為了學習?如果只是裝個軟體,為什麼不裝二進製版的呢(.deb .rpm)。自己編譯挺麻煩的。
如果非想自己編譯,一般都是(我沒編譯過VLC,編譯過其他的,感覺像VLC這么大的軟體應該得較長時間!):先解壓下載的源碼包(tar.bz),然後從終端進入解壓後的源碼目錄,在終端輸入:一 ./configure ;二 make ;三 make install ;
一,好像是為了檢查當前系統參數,也可以在後面加環境變數參數(./configure [options])。如果沒問題便生成makefile
二,根據makefile編譯
三,編譯安裝。(二,可省略)
其實,不管是windows還是linux下載了軟體解壓後第一件事是讀readme!!!!!!!!!!!(其實你應該自己看readme和install,因為別人也不知道你下的軟體什麼情況,這兩個文件一般都會告訴你怎樣安裝以及軟體依賴什麼包!!)
再是讀install ,這是基本素質。要養成自覺性,這在linux下尤為重要!
至於調試,比較麻煩,不過如果只是裝軟體而不改代碼的情況下,不用專門調試(難道你還要用專門工具調試?) 既然說是菜鳥,又稿這么復雜的東西,並且搞這么復雜的東西又不在更專業的地方提問,網路知道一般是解決日常問題的地方!!!
不過一般情況下執行上述三步時會報錯,根據它報錯情況自己想辦法解決,一般來說是依賴不能滿足!
⑶ 如何編譯和調試android源碼中platform/system/core下的代碼
首先在Android源代碼目錄下的build目錄下,有個腳本文件envsetup.sh,執行這個腳本文件後,就可以獲得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
注意,這是一個source命令,執行之後,就會有一些額外的命令可以使用:
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- jgrep: Greps on all local java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
這些命令的具體用法,可以在命令的後面加-help來查看,這里我們只關注mmm命令,也就是可以用它來編譯指定目錄的所有模塊,通常這個目錄只包含一個模塊。
⑷ 如何實現在線編譯調試代碼
就是執行shell命令進行編譯運行等操作。
看看這里:
http://www.php.net/manual/zh/ref.exec.php
溫馨提示:代碼有風險,編譯需謹慎。做好過濾邏輯以免使得服務掛掉。
⑸ 在VS2010的VC++中如何編譯、鏈接、運行、調試程序
在vc2010中看不到像VC6.0顯式的編譯、連接按鈕了。只有工具欄(啟動調試)和菜單欄(測試)
這些功能包含編譯、鏈接、運行(調試)所有步驟,都一鍵完成。
實際上這些功能是編譯器使用以下工具實現的:
編譯器CL.EXE,將.c/.cpp源代碼編譯成目標代碼.obj,
連接器LINK.EXE,將目標代碼和庫連接生成最終文件;
資源編譯器RC.EXE(.rc)將資源編譯,最終通過連接器存入最終文件.
注意編譯准備:VCVARS32.bat拷貝到當前的workspace下在cmd下執行之後就可以
直接使用這些編譯工具在cmd下編譯.
-----------------------------------------------------------
例子:記事本編輯hello.c,在按照上面要求拷貝到當前目錄下,打開cmd
CL.EXE /c hello.c只編譯不連接
LINK.EXE hello.obj 用到的庫文件,生成可執行文件.如:
LINK.EXE hello.obj user32.lib
RC.EXE Hello.rc
-----------------------------------------
CL.EXE,LINK.EXE,vcvars32.bat所在目錄:假定VS2010使用默認安裝路徑
C:Program FilesMicrosoft Visual Studio 10.0VCin
rc.exe所在路徑:
C:Program FilesMicrosoft SDKsWindowsv7.1ABin
注意:
(1)這些EXE文件在vs2010下可能存在多個不同路徑,但都是一樣的,可以通用
(2)如果電腦上安裝了不同的VS版本,這些文件會不同,注意區分。使用同一VS版本下的文件。
⑹ VS2010里怎麼編譯與調試C++程序
首先建好你的程序,然後按上面的綠色的三角號進行編譯,調試:在程序里打上斷點,然後按f5進行調試,OK
⑺ 怎樣在VC程序編譯過程中進行調試
編譯的時候是不能調試的哦,調試只能在編譯好之後,VC中默認DEBUG模式,在編譯時加入調試信息,然後按下F5即可進行調試,F9下斷點,F10單步跳過, F11單步跟入...SHIFT F5停止調試。。。這是最簡單的操作,詳細網路吧...
⑻ Editplus如何編譯調試程序
這個是需要配置的;在配置EditPlus之前是先將Java的運行環境安裝且調試好,然後進入EditPlus,從菜單「工具(Tools)」; 「配置用戶工具...」進入用戶工具設置,選擇「組和工具條目」中的「Group 1」,點擊面板右邊的「組名稱...」按鈕,將文本Group1」修改成「Java編譯程序」,點擊「添加工具」按鈕,選擇應用程序,
然後就是修改屬性:
1. 添加編譯功能
「菜單文本」里的內容修改為「Javac」;「命令」選擇安裝JDK後的Bin目錄中的編譯程javac.exe,我的JDK 安裝路徑為「Crogram FilesJDKj2sdk1.4.2_08」,那麼此路徑為「CrogramFilesJavajdk1.5.0injavac.exe」;
「參數」選擇「文件名」,即顯示為「$(FileName)」;
「初始目錄」選擇「文件目錄」,顯示為「$(FileDir)」;選擇「捕獲輸出」復選框
2. 添加執行功能
「菜單文本」里的內容修改為「Java」;
「命令」選擇安裝JDK後的BIN目錄中的編譯程序java.exe,路徑為「Crogram FilesJavajdk1.5.0injava.exe」;
「參數」選擇「不帶擴展名的文件名」,即顯示為「$(FileNameNoExt)」;
「初始目錄」選擇「文件目錄」,顯示為「$(FileDir)」;千萬不用選擇「捕獲輸出」復選框!不然不會彈出命令控制台!
這樣就完成了EditPlus的基本設置,可以寫一段Java程序進行調試,通過Ctrl+1進行編譯,使用Ctrl+2運行程序,錯誤提示都會顯示在輸出窗口中,雙擊某一行錯誤信息,EditPlus會自動定位到出錯行,怎麼樣?一個簡單的Java IDE界面就出現了。
要把你寫的.java代碼保存到你的java文件夾里才行
⑼ 如何在Linux 9.0下運用命令進行C語言編程以及編譯、調試、運行
vi或者vim 編輯你的語言,然後用 gcc 編譯, 編譯好之後會在當前目錄生成 a.out 的文件(或者可以使用 -o 參數修改文件名。),執行該文件就可以運行了。
⑽ 在linux里,c程序的編輯、編譯、調試的詳細步驟是什麼
(1)用工具寫好C程序...比如vi
(2)打開終端,進入你存放C語言代碼的路徑 例如: cd /opt/
(3)gcc a.c -o abc 意思是:把你的a.c編譯成abc可執行文件
(4)在當前目錄終端下 運行生成的abc,例如: ./abc 前面的.不要掉了
後面可以用gdb進行調試,你可以自己去學習...這是最基本的!!