女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

OpenHarmony系統(tǒng)使用gdb調(diào)試init

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

提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱[email protected]


原文標題:OpenHarmony系統(tǒng)使用gdb調(diào)試init

文章出處:【微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電子發(fā)燒友
    +關(guān)注

    關(guān)注

    33

    文章

    560

    瀏覽量

    33397
  • 開源社區(qū)
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    591

原文標題:OpenHarmony系統(tǒng)使用gdb調(diào)試init

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    STM32CubeIDE無法啟動正常調(diào)試是哪里出了問題?

    STM32CubeIDE始終正常使用中,昨日系統(tǒng)升級為 macOS Sequoia 版本,啟動調(diào)試出現(xiàn)錯誤提示,重新安裝應(yīng)用程序及 st-stlink-server 驅(qū)動,仍提示同樣錯誤。 目前
    發(fā)表于 03-14 16:30

    為什么會報錯Could not determine GDB version using command: arm-none-eabi-gdb --version?

    我已經(jīng)重啟電腦了,沒用; 重裝軟件沒有,沒有; 將ST_link_server卸載重裝也沒有; 將arm-none-eabi-gdb加入windows 11系統(tǒng)環(huán)境變量,也沒用; 將軟件的GDB
    發(fā)表于 03-12 08:08

    蜂鳥板上Openharmony系統(tǒng)跑QT程序

    將QT程序放到Openharmony系統(tǒng)上跑,可以運行,但是會被覆蓋掉。(用的網(wǎng)盤里面的install,支持QT組件的版本)。 運行情況是,在終端運行QT程序,可以正常運行出來,但是觸摸屏幕后,會被Openharmony操作界面
    發(fā)表于 02-26 13:04

    Dali通信系統(tǒng)調(diào)試指南

    調(diào)試通信系統(tǒng)是一個復(fù)雜的過程,涉及到對系統(tǒng)性能的測試、故障排除和優(yōu)化。以下是一個關(guān)于調(diào)試Dali通信系統(tǒng)的指南,假設(shè)Dali是一個特定的通信
    的頭像 發(fā)表于 01-10 10:47 ?798次閱讀

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    調(diào)試過程中被調(diào)試的內(nèi)核運行在目標機上,GDB調(diào)試器運行在開發(fā)機上。 使用KDB進行Linux內(nèi)核調(diào)試 案例背景 假設(shè)我們正在開發(fā)一個
    發(fā)表于 11-28 15:37

    基于ArkTS語言的OpenHarmony APP應(yīng)用開發(fā):HelloOpenharmony

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

    【開源鴻蒙】使用QEMU運行OpenHarmony輕量系統(tǒng)

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

    [2K300適配OpenharmonyV4.1]根文件系統(tǒng)制作請教

    的文件系統(tǒng)rootfs.img燒錄到2k300上,燒錄失敗。對比2k300開源資料中的Openharmony 文件系統(tǒng),該文件系統(tǒng)為ext4格式,但是2k500編譯出來的為Ubifs
    發(fā)表于 09-11 11:18

    ESP32-C3使用命令行GDB調(diào)試出現(xiàn)報錯的原因?

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

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

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

    開源鴻蒙 編譯OpenHarmony輕量系統(tǒng)QEMU RISC-V版本

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

    為什么無法使用esp-gdbstub調(diào)試esp8266?

    /應(yīng)用.輸出 (gdb) 設(shè)置遠程硬件斷點限制 1 (gdb) 設(shè)置遠程硬件觀察點限制 1 (gdb) 設(shè)置調(diào)試 xtensa 4 (gdb
    發(fā)表于 07-11 08:24

    是否有可能在支持gdb的第三方集成開發(fā)環(huán)境中使用DAS配置調(diào)試

    是否有可能在支持 gdb 的第三方集成開發(fā)環(huán)境中使用 DAS 配置調(diào)試
    發(fā)表于 07-02 07:29

    OpenHarmony之開機優(yōu)化

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

    rtt調(diào)試時出警告

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