chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:未知 ? 2022-12-26 12:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來(lái)源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


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

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


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

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    技術(shù)融合,生態(tài)共建——MTSTAR滿天星信息發(fā)布系統(tǒng)擁抱OpenHarmony

    技術(shù)融合,生態(tài)共建——MTSTAR滿天星信息發(fā)布系統(tǒng)擁抱OpenHarmony在數(shù)字化浪潮席卷全球的今天,操作系統(tǒng)的自主可控已成為國(guó)家科技發(fā)展戰(zhàn)略的重要基石。開(kāi)放鴻蒙OpenHarmony
    的頭像 發(fā)表于 12-04 17:59 ?998次閱讀
    技術(shù)融合,生態(tài)共建——MTSTAR滿天星信息發(fā)布<b class='flag-5'>系統(tǒng)</b>擁抱<b class='flag-5'>OpenHarmony</b>

    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板進(jìn)行GDB調(diào)試

    GDB(GNU Project Debugger)是在Linux環(huán)境下功能全面的調(diào)試工具。它提供了一系列強(qiáng)大的調(diào)試功能,包括設(shè)置斷點(diǎn)、單步執(zhí)行、打印與觀察變量、查看寄存器及堆棧信息等。在Linux軟件開(kāi)發(fā)的實(shí)踐中,
    的頭像 發(fā)表于 11-11 13:47 ?5002次閱讀
    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板進(jìn)行<b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>

    蜂鳥(niǎo)的GDB調(diào)試時(shí)無(wú)法在斷點(diǎn)處停止是什么原因?

    各位大佬們,我們使用GDB調(diào)試程序的時(shí)候,在main函數(shù)打上斷點(diǎn),然后在gdb中continue,程序并沒(méi)有在main函數(shù)入口處停下?請(qǐng)問(wèn)大佬知道原因嗎?謝謝~
    發(fā)表于 11-07 06:15

    RV-STAR無(wú)法連接到GDB server的解決辦法

    demo跑一跑,現(xiàn)在卡在了“下載程序到開(kāi)發(fā)板”這一步,connect to gdb server失敗,使用的是板載調(diào)試器。請(qǐng)問(wèn)這是什么情況? 具體信息如下: 1. 我已經(jīng)安裝
    發(fā)表于 11-07 06:15

    【技術(shù)分享】正確編寫SysV Init腳本以實(shí)現(xiàn)Systemd兼容(上)

    嵌入式的ubuntu系統(tǒng)如何寫好SysVInit腳本呢?與system服務(wù)又有什么差別呢?一起隨著文章來(lái)探究吧。問(wèn)題背景許多傳統(tǒng)Linux服務(wù)仍使用SysVInit腳本(/etc/init
    的頭像 發(fā)表于 10-28 11:45 ?584次閱讀
    【技術(shù)分享】正確編寫SysV <b class='flag-5'>Init</b>腳本以實(shí)現(xiàn)Systemd兼容(上)

    使用蜂鳥(niǎo)調(diào)試器,無(wú)法用cjtag協(xié)議調(diào)試CM32M433R芯片怎么解決?

    器jtag端口,到CM32M433R-START開(kāi)發(fā)板上MCU的jtag調(diào)試端口。在jtag和cjtag調(diào)試中,都連接GND,TCK,TMS,TDI,TDO五條線,沒(méi)有連接RST線 開(kāi)發(fā)環(huán)境 系統(tǒng)
    發(fā)表于 10-20 07:31

    【干貨分享】RT-Trace國(guó)產(chǎn)調(diào)試工具 | 技術(shù)集結(jié)

    專為嵌入式開(kāi)發(fā)者打造的一款高性能、多功能的調(diào)試工具。它集成了實(shí)時(shí)系統(tǒng)跟蹤、數(shù)據(jù)監(jiān)控、GDB遠(yuǎn)程調(diào)試、Flash程序燒錄、虛擬終端等多種功能于一體,支持通過(guò)WebU
    的頭像 發(fā)表于 09-16 08:07 ?609次閱讀
    【干貨分享】RT-Trace國(guó)產(chǎn)<b class='flag-5'>調(diào)試</b>工具 | 技術(shù)集結(jié)

    國(guó)產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開(kāi)發(fā)板—GDB程序調(diào)試方法說(shuō)明

    (Linux) GDB工具是GNU項(xiàng)目調(diào)試器,基于命令行使用。和其他的調(diào)試器一樣,可使用GDB工具單步運(yùn)行程序、單步執(zhí)行、跳入/跳出函數(shù)、設(shè)置斷點(diǎn)、查看變量等等,它是UNIX/LINU
    的頭像 發(fā)表于 08-05 15:33 ?356次閱讀
    國(guó)產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開(kāi)發(fā)板—<b class='flag-5'>GDB</b>程序<b class='flag-5'>調(diào)試</b>方法說(shuō)明

    【M-K1HSE開(kāi)發(fā)板免費(fèi)體驗(yàn)】OpenHarmony系統(tǒng)體驗(yàn)與調(diào)試串口連接

    系統(tǒng)體驗(yàn)使用電源供電上電即可啟動(dòng)時(shí)顯示LOGO顯示OpenHarmony進(jìn)入桌面 消息中心 桌面設(shè)備信息 Wifi連接,要接好天線否則信號(hào)不好 瀏覽器 音樂(lè)播放 相機(jī) 系統(tǒng)更新 整個(gè)體驗(yàn)下來(lái)
    發(fā)表于 07-18 23:48

    STM32CubeIDE無(wú)法啟動(dòng)正常調(diào)試是哪里出了問(wèn)題?

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

    為什么會(huì)報(bào)錯(cuò)Could not determine GDB version using command: arm-none-eabi-gdb --version?

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

    【北京迅為】iTOP-RK3568OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)GPIO基礎(chǔ)知識(shí)

    【北京迅為】iTOP-RK3568OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)GPIO基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 03-06 11:23 ?1049次閱讀
    【北京迅為】iTOP-RK3568<b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b>南向驅(qū)動(dòng)開(kāi)發(fā)GPIO基礎(chǔ)知識(shí)

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

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

    挑戰(zhàn)6萬(wàn)月薪【二】Purple Pi OH開(kāi)發(fā)板帶你7天入門OpenHarmony!

    經(jīng)過(guò)上一次的學(xué)習(xí),我們已經(jīng)初步了解了PurplePiOH,并完成了OpenHarmonyOS的燒錄,接下來(lái)請(qǐng)各位小白跟著筆者的步驟,完成配件的連接,讓系統(tǒng)變得“可視化”,與OpenHarmony親密
    的頭像 發(fā)表于 01-20 14:48 ?801次閱讀
    挑戰(zhàn)6萬(wàn)月薪【二】Purple Pi OH開(kāi)發(fā)板帶你7天入門<b class='flag-5'>OpenHarmony</b>!

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

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