在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony系統使用gdb調試init

電子發燒友開源社區 ? 來源:未知 ? 2022-12-26 12:10 ? 次閱讀
OpenHarmony適配新的開發板時,啟動流程init大概率會出現問題,其為內核直接拉起的第一個用戶態進程,問題定位手段只能依賴代碼走讀和增加調試打印,初始化過程中系統崩潰的問題就更難定位了。如果能使用gdb調試init,會極大的提高定位效率。 本文簡單描述了一下L2二次啟動的系統如何使用gdb調試init
  1. 首先將gdb打包到系統鏡像中。
Init不正常的情況下,系統無法正常啟動工作,無法使用hdc工具加載gdb工具,所以直接在制做鏡像時,將其打包到系統鏡像bin目錄下。如下圖:985906b2-84d2-11ed-bfe3-dac502259ad0.png ?2. 調試版本鏡像帶符號,需要修改鏡像配置文件,改大其大小限制。尤其是system.img,編譯失敗時不會提示實際鏡像大小,需要修改到5G以上。987359cc-84d2-11ed-bfe3-dac502259ad0.png ?3.編譯調試版本,打開版本調試開關
./build.sh --product-name=ita260  --gn-args="is_debug=true use_unstripped_as_runtime_outputs=true"
4. 在init掛載好system、vendor等鏡像,并將根目錄切換到system鏡像后,在啟動第二階段init時,切換到shell下,停止init初始化流程,見下圖B處。 988ad886-84d2-11ed-bfe3-dac502259ad0.png注意:A處的CloseStdio()需要注釋掉 考慮用gdb啟動init第二階段,init絕大部分處理流程都在這一階段,從這里開始就可以用gdb調試了,init第一階段處理相對而言流程簡單一些,代碼走讀和調試打印基本就能解決問題。 5. 在init主函數中去掉“不等于進程1就返回的處理”,因為用gdb起init第二階段時,其進程非1。989b04cc-84d2-11ed-bfe3-dac502259ad0.png ?6. init進程中不初始化Paramworkspace,前面pid=1的判斷,在gdb調試init時條件不成立,所以此處增加判斷init名就直接退出的處理。98b536f8-84d2-11ed-bfe3-dac502259ad0.png ?7. 系統啟動,init初始化第一階段完成后,會停在shell 下,此時使用下述命令啟動init第二階段:gdb --args /bin/init --second-stage為了調試init的子進程,還需要gdb下述命令set follow-fork-mode child98ca0646-84d2-11ed-bfe3-dac502259ad0.png ?當前gdb調試init方法不適用L0、L1和一次啟動的L2系統。 本文章針對OpenHarmony系統在調試init初始化流程時,缺少高效的問題定位手段這一痛點,引入了嵌入式系統開發的主流調試工具-gdb。詳細描述了這一方法涉及到的版本編譯、適配點修改以及調試命令操作等細節處理,指導開發者提高定位init問題的效率。需要注意,當前gdb調試init方法有局限,不適用L0、L1和一次啟動的L2系統。 更多熱點文章閱讀
  • 玩轉OpenHarmony PID:教你打造兩輪平衡車
  • 基于SDIO協議的WiFi模塊實現指南
  • ArkUI框架,更懂程序員的UI信息語法
  • 帶你玩轉OpenHarmony AI:基于Seetaface2的人臉識別
  • 帶你玩轉OpenHarmony AI:打造智能語音子系統

提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。


原文標題:OpenHarmony系統使用gdb調試init

文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電子發燒友
    +關注

    關注

    33

    文章

    556

    瀏覽量

    33104
  • 開源社區
    +關注

    關注

    0

    文章

    94

    瀏覽量

    483

原文標題:OpenHarmony系統使用gdb調試init

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

    1、程序簡介該程序是基于OpenHarmony標準系統編寫的UI應用類:HelloOpenHarmony。本案例是基于API9接口開發。本案例已在OpenHarmony凌蒙派-RK35
    的頭像 發表于 09-15 08:09 ?480次閱讀
    基于ArkTS語言的<b class='flag-5'>OpenHarmony</b> APP應用開發:Hello<b class='flag-5'>Openharmony</b>

    【開源鴻蒙】使用QEMU運行OpenHarmony輕量系統

    本文將會介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運行OpenHarmony輕量系統。通過本文,你將會對QEMU和OpenHarmony輕量系統又一個初步的認知,并對
    的頭像 發表于 09-14 08:51 ?769次閱讀
    【開源鴻蒙】使用QEMU運行<b class='flag-5'>OpenHarmony</b>輕量<b class='flag-5'>系統</b>

    ESP32-C3使用命令行GDB調試出現報錯的原因?

    = 0;void led_init(){ gpio_reset_pin(LED); gpio_set_direction(LED, GPIO_MODE_OUTPUT);}void led_blink
    發表于 08-01 07:47

    鴻蒙OpenHarmony南向/北向快速開發教程-迅為RK3568開發板

    4.1學習之旅了嗎?快來加入我們,一起探索鴻蒙4.1系統的無限魅力吧! 【北京迅為】OpenHarmony學習開發系列教程(第1期 北向基礎篇一) P0_先導課 P1_OpenHarmony
    發表于 07-23 10:44

    開源鴻蒙 編譯OpenHarmony輕量系統QEMU RISC-V版本

    本文將介紹如何為QEMU RISC-V虛擬平臺構建OpenHarmony輕量系統。得益于QEMU的CPU指令集模擬執行能力,該方法可以在沒有開發板的情況下調試和運行OpenHarmony
    的頭像 發表于 07-15 10:36 ?1168次閱讀
    開源鴻蒙 編譯<b class='flag-5'>OpenHarmony</b>輕量<b class='flag-5'>系統</b>QEMU RISC-V版本

    為什么無法使用esp-gdbstub調試esp8266?

    /應用.輸出 (gdb) 設置遠程硬件斷點限制 1 (gdb) 設置遠程硬件觀察點限制 1 (gdb) 設置調試 xtensa 4 (gdb
    發表于 07-11 08:24

    是否有可能在支持gdb的第三方集成開發環境中使用DAS配置調試

    是否有可能在支持 gdb 的第三方集成開發環境中使用 DAS 配置調試
    發表于 07-02 07:29

    OpenHarmony之開機優化

    OpenHarmony已經支持了Bootchart工具,我們可以直接使用Bootchart工具,Bootchart工具介紹如下: 概述 Bootchart是一個用于系統啟動過程性能分析的開源軟件工具
    發表于 07-01 16:39

    rtt調試時出警告

    我在用rtt thread studio進行調試時,報如下警告: Open On-Chip Debugger 0.11.0+dev-02215-gcc0ecfb6d-dirty
    發表于 06-29 19:11

    使用GDB OpenOCD調試程序進行調試時,DAP \"CYW20820A1.cpu初始化失敗的原因?

    我使用 Modus 工具箱導入了一個 AUDIO WATCH 示例。 成功構建后,當我嘗試使用 GDB OpenOCD 調試程序進行調試時,得到如下錯誤信息: 所有跳線設置均為默認值。 信息:自動
    發表于 05-21 07:30

    使用VSCode調試嵌入式程序:如何切換gdb server

    上文小編給大家介紹了一下如何使用VSCode結合cortex-debug插件進行調試的方法。本篇就趁熱打鐵,進一步深入了解一下如何切換gdb server。讓我們可以不僅僅使用JLinkGDBServer進行調試
    的頭像 發表于 05-09 11:02 ?2458次閱讀
    使用VSCode<b class='flag-5'>調試</b>嵌入式程序:如何切換<b class='flag-5'>gdb</b> server

    OpenHarmony開發實例:【配置應用簽名信息】

    使用真機設備運行和調試OpenHarmony應用前,需要對應用進行簽名才能正常運行。
    的頭像 發表于 04-22 16:52 ?539次閱讀
    <b class='flag-5'>OpenHarmony</b>開發實例:【配置應用簽名信息】

    PLC系統的安裝與調試流程

    PLC控制系統的安裝與調試,涉及到各項工作,并且只能按序進行,一環緊扣一環,稍有不慎都將導致調試失敗,不但延誤工期,甚至會損壞設備。本文介紹了在現場實踐中總結出的PLC控制系統的安裝與
    的頭像 發表于 03-27 17:08 ?921次閱讀
    PLC<b class='flag-5'>系統</b>的安裝與<b class='flag-5'>調試</b>流程

    OpenHarmony內核編程實戰

    編寫程序,讓開發板在串口調試工具中輸出”Hello,OpenHarmony“。▍操作在源碼的根目錄中有名為”applications“的文件,他存放著應用程序樣例
    的頭像 發表于 03-27 08:31 ?943次閱讀
    <b class='flag-5'>OpenHarmony</b>內核編程實戰

    為什么VSCODE使用GDB調試不顯示寄存器?

    VSCODE使用GDB調試不顯示寄存器
    發表于 02-22 06:46
    主站蜘蛛池模板: 黄a毛片 | 国产热re99久久6国产精品 | 亚洲第一区视频在线观看 | 两性色午夜视频免费国产 | 免费特黄视频 | 在线视频精品免费 | 国产高清在线精品一区 | 欧美日韩在线一本卡 | 欧美午夜片 | 女同性进行性行为视频 | 综合亚洲色图 | 国产性猛交xx乱 | 淫性视频 | 一级视频免费观看 | 天堂网www中文天堂在线 | 狠狠干亚洲色图 | 亚洲国产精品久久网午夜 | 日本一区二区三区在线网 | 国产日本在线播放 | 91精品啪国产在线观看免费牛牛 | 永久免费观看视频 | 亚洲综合久久久 | 亚洲1314 | 亚洲第一区视频在线观看 | 夜夜操天天操 | 久草色在线 | 成年网站在线在免费播放 | 四虎永久免费在线观看 | 亚欧成人中文字幕一区 | 免费一级欧美片在线观看 | 天天夜约 | 97视频人人 | 国产在线色视频 | 四虎在线成人免费网站 | 色播在线 | 国产精品三级 | 亚洲国产精品久久久久婷婷老年 | 久久天天躁狠狠躁夜夜躁 | 91综合在线视频 | 国内夫妇交换性经过实录 | 日本a级片在线播放 |