91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

xmake中如何運行和調試目標程序

發布時間:2021-12-08 15:52:17 來源:億速云 閱讀:335 作者:柒染 欄目:大數據

xmake中如何運行和調試目標程序,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

xmake是一個基于Lua的輕量級現代化c/c++的項目構建工具,主要特點是:語法簡單易上手,提供更加可讀的項目維護,實現跨平臺行為一致的構建體驗。

運行生成目標

xmake也提供了run命令,直接運行生成后的可執行文件,用于方便快速的進行測試,例如:

$ xmake run
hello xmake!
   
添加運行環境變量

我們也可以在xmake.lua中通過add_runenvs接口來添加設置默認運行target程序的環境變量。

所以,對于PATH這種,通過此接口追加值是非常方便的,而且此接口支持多值設置,所以通常就是用來設置帶有path sep的多值env。。

target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_runenvs("PATH", "/tmp/bin", "xxx/bin")
    add_runenvs("LD_LIBRARY_PATH", "/tmp/lib", "xxx/lib")
 

更多關于此接口的描述,可以看下文檔:add_runenvs接口文檔

 
自定義運行邏輯

如果單純的環境設置,以及默認的加載運行規則不滿足需求,我們可以通過定制化on_run腳本,實現更加復雜的運行邏輯:

例如,運行安裝好的apk程序:

target("test")
    -- ...
    -- 設置自定義運行腳本,自動運行安裝好的app程序,并且自動獲取設備輸出信息
    on_run(function (target) 
        os.run("adb shell am start -n com.demo/com.demo.DemoTest")
        os.run("adb logcat")
    end)
   

調試程序

 
命令行調試

我們也可以傳遞-d參數,調用gdb/lldb等調試器程序,加載目標文件進行調試:

$ xmake run -d  
 

xmake將會使用系統自帶的調試器去加載程序運行,目前支持:lldb, gdb, windbg, vsjitdebugger, ollydbg 等各種調試器。

[lldb]$target create "build/hello"
Current executable set to 'build/hello' (x86_64).
[lldb]$b main
Breakpoint 1: where = hello`main, address = 0x0000000100000f50
[lldb]$r
Process 7509 launched: '/private/tmp/hello/build/hello' (x86_64)
Process 7509 stopped
* thread #1: tid = 0x435a2, 0x0000000100000f50 hello`main, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100000f50 hello`main
hello`main:
->  0x100000f50 <+0>:  pushq  %rbp
    0x100000f51 <+1>:  movq   %rsp, %rbp
    0x100000f54 <+4>:  leaq   0x2b(%rip), %rdi          ; "hello world!"
    0x100000f5b <+11>: callq  0x100000f64               ; symbol stub for: puts
[lldb]$
   
使用vscode進行斷點調試

我們還可以通過xmake-vscode插件配合vscode來實現對c/c++項目的斷點調試支持。

另外我們還需要依賴vscode的C++插件才能進行調試支持,不過由于開發c/c++程序,這個插件幾乎是必需,所以并沒有太大問題。

就算沒有安裝此插件,xmake-vscode也會加載lldb/gdb/vsjitdebugger等系統調試器,直接加載調試。

xmake中如何運行和調試目標程序

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇康县| 深水埗区| 普宁市| 阜康市| 邯郸市| 朝阳市| 仙桃市| 额尔古纳市| 游戏| 达州市| 兴仁县| 宁明县| 甘泉县| 嘉荫县| 苗栗市| 鄂托克前旗| 中超| 大冶市| 社会| 东海县| 长顺县| 上高县| 贵港市| 行唐县| 平泉县| 丹东市| 临江市| 通州市| 闽清县| 潮州市| 满洲里市| 丰镇市| 易门县| 石门县| 进贤县| 兰溪市| 宜兰市| 枣阳市| 台南市| 莱州市| 师宗县|