電子發(fā)燒友App

硬聲App

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

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

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

電子發(fā)燒友網(wǎng)>嵌入式技術(shù)>linux C用戶態(tài)調(diào)試追蹤函數(shù)調(diào)用堆棧以及定位段錯(cuò)誤

linux C用戶態(tài)調(diào)試追蹤函數(shù)調(diào)用堆棧以及定位段錯(cuò)誤

收藏

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴

評(píng)論

查看更多

相關(guān)推薦

C語(yǔ)言使用函數(shù)調(diào)用的知識(shí)點(diǎn)

C語(yǔ)言使用函數(shù)調(diào)用,我們?cè)偈煜げ贿^(guò)了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)調(diào)用。
2022-09-07 11:47:55654

C函數(shù)調(diào)用機(jī)制與棧幀原理詳解

當(dāng)一個(gè)C函數(shù)調(diào)用時(shí),函數(shù)的參數(shù)如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一直缺乏系統(tǒng)性的理解,因此決定花時(shí)間學(xué)習(xí)下函數(shù)調(diào)用時(shí)整個(gè)調(diào)用機(jī)制并總結(jié)成文,以便加深理解。本文將從匯編的角度講解函數(shù)調(diào)用時(shí),堆棧的變化,參數(shù)的傳遞方式、以及棧幀的建立和消除等方面知識(shí)。
2023-06-08 10:49:41505

Linux內(nèi)核中系統(tǒng)調(diào)用詳解

Linux內(nèi)核中設(shè)置了一組用于實(shí)現(xiàn)各種系統(tǒng)功能的子程序,稱為系統(tǒng)調(diào)用。用戶可以通過(guò)系統(tǒng)調(diào)用命令在自己的應(yīng)用程序中調(diào)用它們。從某種角度來(lái)看,系統(tǒng)調(diào)用和普通的函數(shù)調(diào)用非常相似。區(qū)別僅僅在于,系統(tǒng)調(diào)用由操作系統(tǒng)核心提供,運(yùn)行于核心態(tài);而普通的函數(shù)調(diào)用函數(shù)庫(kù)或用戶自己提供,運(yùn)行于用戶態(tài)。
2023-08-23 10:37:22577

一文詳解python調(diào)用函數(shù)

函數(shù)被定義后,本身是不會(huì)自動(dòng)執(zhí)行的,只有在被調(diào)用后,函數(shù)才會(huì)被執(zhí)行,得到相應(yīng)的結(jié)果。但是在 Python 中我們要注意一個(gè)關(guān)鍵點(diǎn),就是Python不允許前向引用,即在函數(shù)定義之前,不允許調(diào)用函數(shù)。
2023-10-01 10:45:00211

如何查看及更改函數(shù)/函數(shù)塊的調(diào)用環(huán)境

模塊化設(shè)計(jì)的思想是把一些相似的功能(比如電機(jī)控制、閥控制)設(shè)計(jì)成函數(shù)函數(shù)塊,這樣就可以反復(fù)調(diào)用。其優(yōu)點(diǎn)是:使程序架構(gòu)更加清晰,避免重復(fù)編寫(xiě)相似功能的代碼。不過(guò)可能會(huì)產(chǎn)生一個(gè)疑惑:既然PLC的程序
2023-11-17 09:08:39384

C#調(diào)用CH375 OpenDevice函數(shù)報(bào)錯(cuò)堆棧不對(duì)稱怎么解決?

問(wèn)題:C# 調(diào)用 CH375OpenDevice 函數(shù)報(bào)錯(cuò) 堆棧不對(duì)稱!相關(guān)代碼: if (CH375OpenDevice(i) != INVALID_HANDLE_VALUE){//初始化時(shí)檢測(cè)
2022-09-26 07:17:16

C16x中的堆棧

的“用戶堆棧”用于參數(shù)傳遞和局部自動(dòng)變量。 調(diào)用函數(shù)時(shí),任何無(wú)法裝入寄存器的變量或其他數(shù)據(jù)都會(huì)被MOV[R0-]參數(shù)指令“推入”用戶堆棧。 “R0-”使R0指向用戶堆棧上的下一個(gè)空閑位置。 一旦進(jìn)入被調(diào)用
2023-09-04 07:05:45

C編程中的函數(shù)是什么?

函數(shù)由名稱,輸入?yún)?shù)列表,實(shí)現(xiàn)所需功能的代碼語(yǔ)句以及返回類(lèi)型組成。以下代碼為您提供了一個(gè)示例。char Convert_to_Lowercase(char UppercaseLetter
2020-09-09 15:23:49

C語(yǔ)言函數(shù)是什么?

地開(kāi)發(fā)特定平臺(tái)的應(yīng)用程序。比如作為Windows應(yīng)用程序的開(kāi)發(fā)者,應(yīng)盡量熟悉Windows SDK;作為Linux應(yīng)用程序開(kāi)發(fā)者,應(yīng)盡量熟悉Linux系統(tǒng)調(diào)用和POSIX函數(shù)規(guī)范。  學(xué)習(xí)C語(yǔ)言,對(duì)于嵌入式來(lái)說(shuō),C語(yǔ)言算是里面最簡(jiǎn)單的一部分吧!大家可要好好掌握哦!
2017-01-07 18:05:52

C語(yǔ)言及ARM中堆棧指針SP設(shè)置的理解與總結(jié)(轉(zhuǎn)載)

:客棧,即臨時(shí)寄存的地方,計(jì)算機(jī)中的堆棧主要用來(lái)保存臨時(shí)數(shù)據(jù),局部變量和中斷/調(diào)用子程序程序的返回地址。程序中棧主要是用來(lái)存儲(chǔ)函數(shù)中的局部變量以及保存寄存器參數(shù)的,如果你用了操作系統(tǒng),棧中還可能存儲(chǔ)當(dāng)前
2018-01-26 17:11:03

Linux

Linux下多任務(wù)系統(tǒng)之線程介紹分享到: 前面已經(jīng)提到,進(jìn)程是系統(tǒng)中程序執(zhí)行和資源分配的基本單位。每個(gè)進(jìn)程都擁有自己的數(shù)據(jù)、代碼堆棧,這就造成了進(jìn)程在進(jìn)行切換等操作時(shí)需要較復(fù)雜的上下文切換
2013-08-01 10:09:06

Linux上對(duì)進(jìn)程進(jìn)行內(nèi)存分析和內(nèi)存泄漏定位

、進(jìn)程內(nèi)存在32位操作系統(tǒng)中,每個(gè)進(jìn)程擁有4G的虛擬內(nèi)存空間,其中0~3GB是每個(gè)進(jìn)程的私有用戶空間,這個(gè)空間對(duì)系統(tǒng)中其他進(jìn)程是不可見(jiàn)的。3~4GB是linux內(nèi)核空間,由系統(tǒng)所有的進(jìn)程以及內(nèi)核所共享
2019-07-09 08:15:30

Linux下用gdb 調(diào)試、查看代碼堆棧 - 程良

Linux中用gdb 查看代碼堆棧的信息core dump 一般是在segmentation fault(錯(cuò)誤)的情況下產(chǎn)生的文件,需要通過(guò)ulimit來(lái)設(shè)置才會(huì)得到的。調(diào)試的話輸入: gdb
2016-12-01 09:46:11

Linux內(nèi)存系統(tǒng)---走進(jìn)Linux 內(nèi)存

的運(yùn)算數(shù)據(jù)· 2)硬盤(pán)等外部存儲(chǔ)器交換的數(shù)據(jù)· 3)保障 cpu 計(jì)算的穩(wěn)定性和高性能 二、 Linux 內(nèi)存地址空間 1、Linux 內(nèi)存地址空間 Linux 內(nèi)存管理全貌 2、內(nèi)存地址——用戶態(tài)
2020-08-26 08:05:43

Linux內(nèi)核之系統(tǒng)調(diào)用

Linux內(nèi)核之系統(tǒng)調(diào)用1. 應(yīng)用程序通過(guò)API而不是直接調(diào)用系統(tǒng)調(diào)用來(lái)編程;2. getpid()系統(tǒng)調(diào)用示例:asmlinkage long sys_getpid(void){ return
2012-02-21 10:49:32

Linux內(nèi)核模塊與應(yīng)用程序的對(duì)比

和系統(tǒng)調(diào)用的區(qū)別: 庫(kù)函數(shù)是高層的,完全運(yùn)行在用戶空間,為程序員提供調(diào)用更方便的接口,而真正在幕后完成實(shí)際事務(wù)的是系統(tǒng)調(diào)用。系統(tǒng)調(diào)用在內(nèi)核態(tài)運(yùn)行并且由內(nèi)核自己提供。標(biāo)準(zhǔn)C庫(kù)函數(shù)printf()可以被看做
2018-07-03 03:15:41

linux內(nèi)核解決競(jìng)態(tài)引起的異常的方法

文章目錄linux系統(tǒng)中出現(xiàn)并發(fā)與競(jìng)態(tài)相關(guān)概念:四種情形:linux內(nèi)核解決競(jìng)態(tài)引起的異常的方法:即同步方法中斷屏蔽概念特點(diǎn)中斷屏蔽的編程步驟中斷屏蔽相關(guān)宏函數(shù)應(yīng)用實(shí)例自旋鎖概念特點(diǎn)利用自旋鎖同步
2021-07-28 06:15:51

linux常用的系統(tǒng)調(diào)用函數(shù)有哪些

linux進(jìn)程間通訊方式是什么呢?linux常用的系統(tǒng)調(diào)用函數(shù)有哪些?
2021-12-24 06:03:09

函數(shù)指針能調(diào)用RAM中編譯成c數(shù)組的函數(shù)嗎?

2. 定義數(shù)組到之前的RAM,如下3. 定義函數(shù)指針如下,將數(shù)組的首地址類(lèi)型轉(zhuǎn)換并賦給指針4. 編譯之后,map文件如下,C數(shù)組是按照預(yù)期定義到了指定RAM,指針函數(shù)好像有點(diǎn)問(wèn)題,不應(yīng)該.text嗎?而且怎么看有沒(méi)有指向C數(shù)組?5. 調(diào)試發(fā)現(xiàn)果真跳轉(zhuǎn)不成功,顯示未定義函數(shù)。求助各路大神。`
2020-11-03 15:36:59

追蹤函數(shù)

各位大神?。。?初學(xué)者 請(qǐng)問(wèn) ise中為何不能夠像嵌入式開(kāi)發(fā)環(huán)境IAR,追蹤函數(shù)。就是選中函數(shù) 右擊 go to里面沒(méi)有函數(shù)定義
2014-03-03 18:04:30

ARM函數(shù)調(diào)用過(guò)程說(shuō)明

ARM函數(shù)調(diào)用默認(rèn)4個(gè)參數(shù)用R0-R4傳遞,大于4個(gè)用堆棧傳遞,局部變量保存在堆棧中,下面以一個(gè)簡(jiǎn)單的函數(shù)來(lái)說(shuō)明這個(gè)過(guò)程。先定義c函數(shù)sum函數(shù)非常簡(jiǎn)單,通過(guò)傳入a,b計(jì)算a+b的和,然后再主函數(shù)
2022-04-26 10:05:02

ARMv8的函數(shù)調(diào)用棧是什么意思?調(diào)用棧的內(nèi)存管理是怎樣的

寄存器在不同的函數(shù)間是復(fù)用的,這就決定了在函數(shù)調(diào)用過(guò)程中需要將當(dāng)前的CPU狀態(tài)臨時(shí)保存到一存儲(chǔ)空間里,并在被調(diào)用函數(shù)返回后從存儲(chǔ)空間取出相應(yīng)的數(shù)據(jù)恢復(fù)CPU狀態(tài)上下文。 用于存儲(chǔ)CPU狀態(tài)的空間為堆棧
2022-05-13 10:36:15

F28035調(diào)用API函數(shù)Flash擦除片上FLASH返回錯(cuò)誤值怎么回事

目前在做一個(gè)基于CAN通訊的在線DSP升級(jí)程序,用到F28035芯片,在調(diào)用API函數(shù)進(jìn)行數(shù)據(jù)擦除與寫(xiě)入的調(diào)試階段遇到了問(wèn)題,一直沒(méi)有解決,還望TI大神以及做過(guò)相關(guān)技術(shù)工作的牛人們看到后予以解答
2020-05-20 15:00:01

FreeRTOS中的任務(wù)堆棧溢出檢測(cè)機(jī)制

后的數(shù)據(jù)在運(yùn)行過(guò)程中是否被修改。如果任務(wù)堆棧溢出檢測(cè)函數(shù)檢測(cè)到發(fā)生了堆棧溢出,則會(huì)調(diào)用對(duì)應(yīng)的鉤子函數(shù)(鉤子函數(shù)用戶手動(dòng)創(chuàng)建),用戶可以在鉤子函數(shù)中執(zhí)行想要的操作例如打印發(fā)生錯(cuò)誤的任務(wù)名等。內(nèi)核在
2021-10-15 13:51:40

HDC2021技術(shù)分論壇:分布式調(diào)試、調(diào)優(yōu)能力解決方案

關(guān)系以直觀的可視化結(jié)構(gòu)圖形呈現(xiàn)出來(lái),并保留了歷史調(diào)用,克服了跨設(shè)備跨語(yǔ)言堆棧列表分割不連續(xù)的弊端,如圖中,Call Stack view呈現(xiàn)了不同設(shè)備調(diào)試的模塊,它們使用不同的顏色表示,點(diǎn)擊圖中的函數(shù)
2021-11-22 17:17:01

HDC技術(shù)分論壇:分布式調(diào)試、調(diào)優(yōu)能力解決方案

了歷史調(diào)用,克服了跨設(shè)備跨語(yǔ)言堆棧列表分割不連續(xù)的弊端,如圖中,Call Stack view呈現(xiàn)了不同設(shè)備調(diào)試的模塊,它們使用不同的顏色表示,點(diǎn)擊圖中的函數(shù)節(jié)點(diǎn)能自動(dòng)定位到代碼中的函數(shù)處。使開(kāi)發(fā)者溯源
2021-10-28 16:20:20

HardFault錯(cuò)誤調(diào)試定位方法是什么

HardFault 錯(cuò)誤調(diào)試定位方法1、首先更改 startup.s 的啟動(dòng)文件,把里面的 HardFault_Handler 代碼換成下面的代碼:HardFault_Handler
2022-02-15 07:22:40

I.MX6ULL-ElfBoard ELF1板卡- 使用C庫(kù)函數(shù)控制開(kāi)發(fā)板的LED

系統(tǒng)調(diào)用(System Call)是操作系統(tǒng)內(nèi)核提供的函數(shù),在內(nèi)核態(tài)運(yùn)行(Kernel Mode),是操作系統(tǒng)為用戶提供的一些接口。它通過(guò)軟中斷向內(nèi)核態(tài)發(fā)出一個(gè)明確的請(qǐng)求。有一些任務(wù)需要進(jìn)程跑在內(nèi)核態(tài)
2024-01-19 10:12:33

SEGGER Ozone調(diào)試器使用攻略!

運(yùn)行、單步等調(diào)試操作按鈕。常用調(diào)試窗口介紹進(jìn)入調(diào)試界面后,可以發(fā)現(xiàn)Ozone調(diào)試器提供了常用的函數(shù)列表、反匯編、寄存器、內(nèi)存等調(diào)試窗口。在源碼位置處右鍵可以添加代碼斷點(diǎn),以及打開(kāi)watch數(shù)據(jù)觀察窗
2021-08-11 17:10:12

labview 調(diào)用DLL函數(shù) 1097錯(cuò)誤

本帖最后由 eehome 于 2013-1-5 10:09 編輯 在使用labview調(diào)用外部函數(shù)時(shí),老是出現(xiàn)1097錯(cuò)誤,參數(shù)定義和設(shè)置都正確。程序提示:“LabVIEW:調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)調(diào)用
2012-10-23 16:13:47

ucosiii中斷服務(wù)函數(shù)總是進(jìn)硬件錯(cuò)誤

在ucosiii下寫(xiě)傳統(tǒng)的中斷服務(wù)函數(shù)總是進(jìn)硬件錯(cuò)誤,進(jìn)中斷后禁止調(diào)度也不行,看 拉伯羅斯 的書(shū),上面寫(xiě)著要用匯編語(yǔ)言寫(xiě)“中斷服務(wù)函數(shù)”,(“用戶中斷服務(wù)函數(shù)調(diào)用C語(yǔ)言函數(shù))有了解的人講解一下,或者留一小例程謝過(guò)
2019-04-11 04:55:31

μC/OSII任務(wù)創(chuàng)建和銷(xiāo)毀的用戶接口改善

OSAutoTaskDel中,先釋放??臻g,之后調(diào)用OSTaskDel使該任務(wù)進(jìn)入睡眠態(tài)。結(jié)語(yǔ)  本文對(duì)μC/OSII中任務(wù)的用戶接口進(jìn)行了改善,使之更加方便易用、易于維護(hù),并減少了錯(cuò)誤出現(xiàn)的機(jī)會(huì)。通過(guò)以上方法,希望能使μC/OSII為普通嵌入式程序員所接受。
2018-12-03 15:17:07

【4412開(kāi)發(fā)板】理解和掌握linux用戶、用戶組、權(quán)限等方法

,在后面的實(shí)驗(yàn)中,調(diào)用的各種函數(shù)一般都會(huì)根據(jù)返回值來(lái)判斷是否出了問(wèn)題,如果出錯(cuò)打印一信息,如果沒(méi)有出錯(cuò)打印一信息。這部分是程序員控制的,在 linux 中通常使用 printf 函數(shù)來(lái)打印,由于
2019-11-18 13:45:28

【轉(zhuǎn)載】快速追蹤定位產(chǎn)生HardFault原因的方法

時(shí),會(huì)發(fā)現(xiàn)程序跑到 HardFault_Handler函數(shù)中,產(chǎn)生 HardFault,即硬件錯(cuò)誤。 本文檔主要介紹一種基于CmBacktrace庫(kù),快速追蹤定位產(chǎn)生HardFault原因的方法。支持
2020-08-17 09:44:25

不需要調(diào)用庫(kù)函數(shù)的話是否可以改為B main呢

在 Init.s 中有這樣一: ResetBL InitStack ;初始化堆棧BL TargetResetInit ;目標(biāo)板基本初始化B __main ;跳轉(zhuǎn)到 c 語(yǔ)言入口誰(shuí)知道__main()函數(shù)的具體內(nèi)容假如我不需要調(diào)用庫(kù)函數(shù)的話,是否可以改為 B main
2022-11-14 14:56:15

了解堆棧分配避免堆棧溢出環(huán)境

一、通過(guò)map文件了解堆棧分配(STM32、MDK5)--避免堆棧溢出環(huán)境:STM32F103C8T6,MDK5在最近的一個(gè)項(xiàng)目的開(kāi)發(fā)中,每當(dāng)調(diào)用到一個(gè)函數(shù),程序就直接跑飛。debug跟進(jìn)去
2021-08-24 07:26:01

什么是Linux系統(tǒng)調(diào)用,包括哪些內(nèi)容

。 在這里,為什么用戶程序不能直接訪問(wèn)系統(tǒng)內(nèi)核提供的服務(wù)呢?這是由于在Linux中,為了更好地保護(hù)內(nèi)核空間,將程序的運(yùn)行空間分為內(nèi)核空間和用戶空間(也就是常稱的內(nèi)核態(tài)用戶態(tài)),它們分別運(yùn)行在不同的級(jí)別
2013-08-23 11:55:11

關(guān)于FREERTOS臨界態(tài)是怎么回事

用FREERTOS系統(tǒng)創(chuàng)建任務(wù),在創(chuàng)建任務(wù)里使用臨界代碼保護(hù),調(diào)用taskENTER_CRITICAL()函數(shù)進(jìn)入臨界態(tài)度,在臨界態(tài)創(chuàng)建其他兩個(gè)任務(wù),然后退出臨界態(tài)taskEXIT_CRITICAL()退出臨界態(tài)實(shí)際通過(guò)調(diào)試發(fā)現(xiàn)任務(wù)停止調(diào)度,求大神解答
2020-06-15 09:00:44

寫(xiě)程序簡(jiǎn)單一調(diào)試就頭疼?分享一些C語(yǔ)言調(diào)試經(jīng)驗(yàn)

如此,掌握好的調(diào)試方法,可以事半功倍。下面說(shuō)一下程序已經(jīng)沒(méi)有編譯錯(cuò)誤,能夠運(yùn)行,但又得不出正確結(jié)果的情況下的程序的常用常見(jiàn)調(diào)試方法:1、追蹤方式執(zhí)行(Trace):一步一步執(zhí)行,遇到函數(shù)調(diào)用,追蹤
2018-07-21 21:13:25

C6678上函數(shù)返回錯(cuò)誤,請(qǐng)問(wèn)是什么原因?

問(wèn)題描述:用仿真器在C6678上調(diào)試程序。所有的數(shù)據(jù)、代碼都位于MSMC上。A函數(shù)調(diào)用B函數(shù),出現(xiàn)兩種錯(cuò)誤(只有A函數(shù)調(diào)B函數(shù)出錯(cuò)):1、B函數(shù)返回后跳到一個(gè)錯(cuò)誤地址運(yùn)行2、B函數(shù)返回后又重新
2018-08-07 08:22:17

在LabVIEW中調(diào)用C語(yǔ)言——調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)

在LabVIEW中調(diào)用C語(yǔ)言——調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)學(xué)習(xí)LabVIEW也有一時(shí)間了,從C語(yǔ)言到LabVIEW的思維轉(zhuǎn)換對(duì)我來(lái)說(shuō),確實(shí)比較難,直到現(xiàn)在我依然無(wú)法自如地將LabVIEW與C語(yǔ)言自由轉(zhuǎn)化,很多
2013-04-20 09:14:31

基于ARM Cortex-M的MCU錯(cuò)誤追蹤庫(kù)有何功能呢

引言我們?cè)谄匠J褂肧TM32單片機(jī)的時(shí)候,往往會(huì)碰到程序跑飛的情況,出現(xiàn)hard_fulat等錯(cuò)誤,而我們?cè)?b class="flag-6" style="color: red">定位錯(cuò)誤的時(shí)候,采用的方法往往是連上仿真器,一步一步單步調(diào)試,定位到具體的錯(cuò)誤代碼,再去
2022-02-21 06:01:18

基于分布式調(diào)用鏈監(jiān)控技術(shù)的全息排查功能

調(diào)用鏈在分布式調(diào)用的鏈路入口和出口通常會(huì)記錄調(diào)用時(shí)差,返回狀態(tài),以及對(duì)應(yīng)的機(jī)器或應(yīng)用的元信息狀態(tài),因此應(yīng)用的常規(guī)場(chǎng)景通常是某時(shí)間和某個(gè)應(yīng)用入口的情況下,查詢錯(cuò)誤異?;蛘叱瑫r(shí)的調(diào)用鏈。如Zipkin調(diào)用
2018-08-07 17:02:57

多任務(wù)系統(tǒng)中的堆棧使用

一些調(diào)整。對(duì)于使用獨(dú)立中斷堆棧的應(yīng)用,如果不在中斷處理程序增加復(fù)雜的函數(shù)調(diào)用,示例的默認(rèn)大小即可滿足需求。基于μC/OS構(gòu)建的系統(tǒng)在main()運(yùn)行過(guò)程中依賴C堆棧,一旦調(diào)用OSStart()后,系統(tǒng)就切換到任務(wù)堆棧,以便開(kāi)始多任務(wù)處理。
2023-01-05 13:52:05

如何通過(guò)IAR進(jìn)行堆棧使用分析

使用請(qǐng)參閱閱讀原文中的“IAR C/C++ Development Guide”手冊(cè)。02堆棧空間大小觀察窗口除了堆棧使用理論分析功能外,IAR還提供了觀察窗口,在調(diào)試過(guò)程中可視化應(yīng)用程序?qū)嶋H堆棧使用。1
2020-01-03 16:45:08

嵌入式學(xué)習(xí)-ElfBoard ELF 1板卡-使用C庫(kù)函數(shù)控制ELF1開(kāi)發(fā)板的LED

系統(tǒng)調(diào)用(System Call)是操作系統(tǒng)內(nèi)核提供的函數(shù),在內(nèi)核態(tài)運(yùn)行(Kernel Mode),是操作系統(tǒng)為用戶提供的一些接口。它通過(guò)軟中斷向內(nèi)核態(tài)發(fā)出一個(gè)明確的請(qǐng)求。有一些任務(wù)需要進(jìn)程跑在內(nèi)核態(tài)
2024-01-19 10:07:19

嵌入式學(xué)習(xí)手冊(cè)——堆棧結(jié)構(gòu)與編程

檢查堆棧是否存在,已經(jīng)釋放內(nèi)存之后把長(zhǎng)度和指針變量重新設(shè)置為零。is_empty 和 is_full 函數(shù)中添加了一條斷言,防止任何堆棧函數(shù)堆棧被創(chuàng)建之前就被調(diào)用?! _stack.c 源代碼如下
2020-04-20 07:00:00

嵌入式開(kāi)發(fā)為什么需要輸出調(diào)試信息?

、變量值、函數(shù)調(diào)用堆棧等信息,有助于快速定位和解決問(wèn)題。2.實(shí)時(shí)反饋 在開(kāi)發(fā)過(guò)程中逐步增加新功能或者修改現(xiàn)有功能時(shí),輸出調(diào)試信息可以提供實(shí)時(shí)反饋。這使得可以快速地檢查修改的效果。 3.代碼驗(yàn)證和邏輯分析
2023-11-28 16:46:25

嵌入式驅(qū)動(dòng)開(kāi)發(fā) Linux字符設(shè)備驅(qū)動(dòng)

main,它以一個(gè)模塊初始化函數(shù)作為入口? 應(yīng)用程序從頭到尾執(zhí)行一個(gè)任務(wù)? 驅(qū)動(dòng)程序完成初始化之后不再運(yùn)行,等待系統(tǒng)調(diào)用? 應(yīng)用程序可以使用GLIBC等標(biāo)準(zhǔn)C函數(shù)庫(kù)? 驅(qū)動(dòng)程序不能使用標(biāo)準(zhǔn)C庫(kù)用戶態(tài)
2016-10-09 17:21:32

怎么獲得當(dāng)前的字符串堆棧調(diào)用堆棧?

打印出調(diào)用堆棧時(shí),UART調(diào)試器打印出[0xA,0xb,0xc],我可以把它輸入到一個(gè)微芯片工具中,它給了我“主- &輔助函數(shù)-GT;內(nèi)部”。謝謝! 以上來(lái)自于百度翻譯 以下為原文
2018-12-20 16:29:59

我在進(jìn)行C++中調(diào)用NI-DAQmx C API函數(shù)時(shí),出現(xiàn)錯(cuò)誤,請(qǐng)高手指教

在進(jìn)行C++中調(diào)用NI-DAQmx C API函數(shù)時(shí),出現(xiàn)錯(cuò)誤,請(qǐng)高手指教。我編譯的時(shí)候是正確的,但是運(yùn)行以后出現(xiàn)如附件的錯(cuò)誤,請(qǐng)幫個(gè)忙,指點(diǎn)一下!謝謝
2011-12-14 13:14:44

匯編代碼中對(duì)C函數(shù)調(diào)用時(shí)如何進(jìn)行參數(shù)的傳遞以及如何從C函數(shù)正確返回呢

時(shí)參數(shù)的傳遞規(guī)則以及如何從函數(shù)返回,關(guān)于ATPCS的詳細(xì)內(nèi)容可以查看ADS1.2 Online Books ——Developer Guide的2.1節(jié)。這篇文檔要講的是 匯編代碼中對(duì)C函數(shù)調(diào)用時(shí)如何進(jìn)
2022-05-07 10:02:02

第19章 SVC中斷方式調(diào)用用戶函數(shù)

轉(zhuǎn)rtx操作系統(tǒng)本章節(jié)為大家講解如何采用SVC中斷方式調(diào)用用戶函數(shù)。當(dāng)用戶將RTX任務(wù)設(shè)置為工作在非特權(quán)級(jí)模式時(shí),任務(wù)中是不允許訪問(wèn)特權(quán)級(jí)寄存器的,這個(gè)時(shí)候使用SVC中斷,此問(wèn)題就迎刃而解了。 本章
2016-10-08 08:15:14

請(qǐng)教ucosiii例程中創(chuàng)建堆棧函數(shù)

;err); //存放該函數(shù)錯(cuò)誤時(shí)的返回值我先說(shuō)下自己的理解,請(qǐng)教下哪里理解錯(cuò)了,我不懂的地方也指點(diǎn)下1、(OS_TCB * )&StartTaskTCB, //任務(wù)控制塊意思:將一個(gè)名為
2019-06-28 04:35:48

請(qǐng)問(wèn)調(diào)用cyble_processEvents()后BLE堆棧是否空閑?

我遇到了一個(gè)問(wèn)題,我相信我會(huì)用通知事件溢出BLE棧。我似乎找不到任何文件,如果在每次CyByLoPraceSeVScript()調(diào)用之后處理BLE堆棧和空。我有一個(gè)看起來(lái)像這樣的函數(shù):(臨時(shí)
2019-10-31 10:51:08

請(qǐng)問(wèn)怎么提高JTAG調(diào)試追蹤到printf()?

怎么 通過(guò)JTAG調(diào)試 追蹤到printf()此函數(shù)函數(shù)主體,我是新手,不太會(huì)
2020-03-09 04:35:26

鴻蒙內(nèi)核實(shí)現(xiàn)用戶態(tài)快速互斥鎖Futex設(shè)計(jì)資料合集

Futex(Fast userspace mutex,用戶態(tài)快速互斥鎖),系列篇簡(jiǎn)稱 快鎖 ,是一個(gè)在 Linux 上實(shí)現(xiàn)鎖定和構(gòu)建高級(jí)抽象鎖如信號(hào)量和POSIX互斥的基本工具,它第一次出現(xiàn)在
2022-03-23 14:12:41

C++教程之函數(shù)的遞歸調(diào)用

C++教程之函數(shù)的遞歸調(diào)用 在執(zhí)行函數(shù) f 的過(guò)程中,又要調(diào)用 f 函數(shù)本身,稱為函數(shù)的遞歸調(diào)用;形式上:一個(gè)正在執(zhí)行的函數(shù)調(diào)用了自身;這種遞歸稱之
2010-05-15 18:00:3835

DSP集成麥克風(fēng)陣列聲源定位追蹤模組

前言       聲源定位追蹤模組AR-1105是德宇科創(chuàng)采用最新的DSP音頻處理器集成麥克風(fēng)陣列聲源定位追蹤技術(shù)進(jìn)行研發(fā),模組具有全硬件集成.體積小巧,外圍電路簡(jiǎn)潔,無(wú)需軟件調(diào)試,易上手等優(yōu)點(diǎn)的情況下同時(shí)保持反應(yīng)靈敏,定位準(zhǔn)確等特性. 總結(jié)
2023-09-02 09:32:13

Linux應(yīng)用程序調(diào)試技術(shù)的研究

本文介紹了C/C++函數(shù)調(diào)用機(jī)制,由此引入堆棧回朔(Stack Backtraces)方法,通過(guò)從用戶堆棧中提取出執(zhí)行程序的函數(shù)調(diào)用序列,迅速定位程序異常發(fā)生的位置。同時(shí),論文結(jié)合Linux信號(hào)
2010-07-27 15:52:4928

GPS定位追蹤

關(guān)鍵字:跟蹤器,定位器,手機(jī)定位,CDMA定位,GPS定位跟蹤器,GPSNOE定位追蹤器,衛(wèi)星定位追蹤器,最
2008-01-21 17:03:554144

系統(tǒng)調(diào)用函數(shù)庫(kù)分析及實(shí)例

作為用戶我們極少接觸系統(tǒng)調(diào)用,但是我們熟悉C 語(yǔ)言,對(duì)庫(kù)函數(shù)調(diào)用并不陌生。C語(yǔ)言支持一系列庫(kù)函數(shù)調(diào)用,而事實(shí)上,庫(kù)函數(shù)調(diào)用是C 語(yǔ)言在較高層次上調(diào)用的一種方式,L
2011-06-23 16:46:3446

基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用VCS仿真教程

linux系統(tǒng)上實(shí)現(xiàn)vivado調(diào)用VCS仿真教程 作用:vivado調(diào)用VCS仿真可以加快工程的仿真和調(diào)試,提高效率。 前期準(zhǔn)備:確認(rèn)安裝vivado軟件和VCS軟件 VCS軟件最好安裝
2018-07-05 03:30:0010732

當(dāng)函數(shù)執(zhí)行完畢后,如何返回調(diào)用處?

當(dāng)函數(shù)執(zhí)行完畢后,如何返回調(diào)用處呢?由于該函數(shù)可能會(huì)被多次調(diào)用,且每次調(diào)用的地方很可能不一樣,這樣被調(diào)用函數(shù)也就不可能知道自己該返回到哪里,因此在調(diào)用函數(shù)時(shí)必須告訴被調(diào)用函數(shù)應(yīng)返回到哪里?
2017-09-14 14:27:3116205

高效的C編程之函數(shù)調(diào)用

14.9 函數(shù)調(diào)用 函數(shù)設(shè)計(jì)的基本原則是使其函數(shù)體盡量的小。這樣編譯器可以對(duì)函數(shù)做更多的優(yōu)化。 14.9.1 減少函數(shù)調(diào)用開(kāi)銷(xiāo) ARM上的函數(shù)調(diào)用開(kāi)銷(xiāo)比非RISC體系結(jié)構(gòu)上的調(diào)用開(kāi)銷(xiāo)?。?調(diào)用返回
2017-10-17 16:49:586

堆棧指針sp的內(nèi)容是什么

元素和從中移去元素。 堆棧由邏輯堆棧幀組成。 當(dāng)調(diào)用函數(shù)時(shí)邏輯堆棧幀被壓入棧中,當(dāng)函數(shù)返回時(shí)邏輯 堆棧幀被從棧中彈出。
2017-11-13 09:04:0732880

c#調(diào)用matlab函數(shù)

本文檔內(nèi)容介紹了基于c#調(diào)用matlab函數(shù),供參考
2018-04-19 10:53:5523

了解各種系統(tǒng)調(diào)用助你成為一名Linux下編程高手

Linux內(nèi)核中設(shè)置了一組用于實(shí)現(xiàn)各種系統(tǒng)功能的子程序,稱為系統(tǒng)調(diào)用用戶可以通過(guò)系統(tǒng)調(diào)用命令在自己的應(yīng)用程序中調(diào)用它們。從某種角度來(lái)看,系統(tǒng)調(diào)用和普通的函數(shù)調(diào)用非常相似。
2018-05-14 11:10:133107

學(xué)會(huì)Linux添加自定義系統(tǒng)調(diào)用

Linux的世界里,我們經(jīng)常會(huì)遇到系統(tǒng)調(diào)用這一術(shù)語(yǔ),所謂系統(tǒng)調(diào)用,就是內(nèi)核提供的、功能十分強(qiáng)大的一系列的函數(shù)。
2019-05-13 11:39:15792

Linux 下系統(tǒng)調(diào)用的三種方法

中定義的最大出錯(cuò)碼為 132),這時(shí),將錯(cuò)誤碼寫(xiě)入 errno 中,置系統(tǒng)調(diào)用返回值為 -1;否則返回的是 eax 中的值。上面程序在 32位Linux下以普通用戶權(quán)限編譯運(yùn)行結(jié)果與前面兩個(gè)相同
2019-04-02 14:33:04425

linux追蹤函數(shù)backtrace調(diào)用堆棧

一般察看函數(shù)運(yùn)行時(shí)堆棧的方法是使用GDB之類(lèi)的外部調(diào)試器,但是,有些時(shí)候?yàn)榱朔治龀绦虻腂UG,(主要針對(duì)長(zhǎng)時(shí)間運(yùn)行程序的分析),在程序出錯(cuò)時(shí)打印出函數(shù)調(diào)用堆棧是非常有用的。在頭文件
2019-04-02 14:34:50547

Linux下系統(tǒng)調(diào)用的技巧

1.linux系統(tǒng)調(diào)用的基本原理  linux的系統(tǒng)調(diào)用形式與POSIX兼容,也是一套C語(yǔ)言函數(shù)名的集合。然而,linux系統(tǒng)調(diào)用的內(nèi)部實(shí)現(xiàn)方式卻與DOC的INT 21H相似,它是
2019-04-02 14:36:48284

Linux匯編與C互相調(diào)用

,ret的功能是把返回地址從桟里彈出,并轉(zhuǎn)到該地址去執(zhí)行?! ? ?? ???匯編程序調(diào)用C函數(shù)時(shí),函數(shù)的入口參數(shù)使用堆棧來(lái)傳送?! ? ?? ???C函數(shù)調(diào)用時(shí),輸入?yún)?shù)采用堆棧方式傳遞,參數(shù)的傳遞順序
2019-04-02 14:46:26333

為什么中斷處理函數(shù)不能直接調(diào)用不可重入函數(shù)

1 前言 最近在公司維護(hù)的項(xiàng)目中碰到一個(gè)解決了定位很久的 bug , bug 找到的時(shí)候發(fā)現(xiàn)犯了很低級(jí)的錯(cuò)誤——在中斷處理函數(shù)調(diào)用了 printf 函數(shù),因?yàn)橹袛嗵幚?b class="flag-6" style="color: red">函數(shù)的調(diào)用了不可重入函數(shù),導(dǎo)致
2021-02-17 09:33:004862

關(guān)于合泰HT66F004的堆棧注意點(diǎn)

這個(gè)芯片比較陳舊,堆棧層級(jí)比較少。所以在使用時(shí)候,要特別小心。在函數(shù)調(diào)用時(shí),要注意層級(jí)。比如這樣一個(gè)調(diào)用關(guān)系:Main() ->LEDdisp()-> DISPIC
2021-11-20 15:21:029

cmd跑綠色代碼_ARM Cortex-M 系列 MCU錯(cuò)誤代碼自動(dòng)追蹤庫(kù)的使用分享

HardFault_Handler函數(shù)中,產(chǎn)生 HardFault,即硬錯(cuò)。其產(chǎn)生的原因大概有如下幾類(lèi):(1)數(shù)組越界操作;(2)內(nèi)存溢出,訪問(wèn)越界;(3)堆棧溢出,程序跑飛;(4)中斷處理錯(cuò)誤;針對(duì)HardFault問(wèn)題的定位,網(wǎng)上...
2021-11-30 19:36:040

庫(kù) keil 編譯很慢_CmBacktrace: ARM CortexM 系列 MCU 錯(cuò)誤追蹤庫(kù)

(Cortex Microcontroller Backtrace)是一款針對(duì) ARM Cortex-M 系列 MCU 的錯(cuò)誤代碼自動(dòng)追蹤定位,錯(cuò)誤原因自動(dòng)分析的開(kāi)源庫(kù)。主要特性如下:支持的錯(cuò)...
2021-11-30 19:51:068

ARM Cortex-M 系列 MCU 錯(cuò)誤追蹤庫(kù) --- CmBacktrace

Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)故障原因 自動(dòng)診斷 :可在故障發(fā)生時(shí),自動(dòng)分析出故障的原因,定位發(fā)生故障的代碼位置,而無(wú)需再手動(dòng)分析繁雜的故障寄存器;輸出錯(cuò)誤現(xiàn)場(chǎng)的 函數(shù)調(diào)用棧(需配合 ad
2021-11-30 20:21:100

cortex內(nèi)核hardfault錯(cuò)誤定位方法實(shí)戰(zhàn)

單片機(jī)一般是cortex-m3之類(lèi)的內(nèi)核,其實(shí)其他內(nèi)核也是一個(gè)道理。hardfault錯(cuò)誤一般是操作了不該操作的內(nèi)存,或者執(zhí)行了不該執(zhí)行的動(dòng)作,例如一個(gè)非法的函數(shù)指針,你非要去調(diào)用。調(diào)試這個(gè)錯(cuò)誤
2021-12-01 13:36:0810

IAR定位函數(shù)內(nèi)容時(shí)報(bào)錯(cuò)“包含錯(cuò)誤的路徑”

IAR版本:7.12.1報(bào)錯(cuò):包含錯(cuò)誤的路徑XXXXX我經(jīng)常使用github在多臺(tái)電腦寫(xiě)代碼,每次下載完更新過(guò)的代碼,定位函數(shù)就提示路徑錯(cuò)誤。這個(gè)問(wèn)題應(yīng)該是不同電腦上項(xiàng)目的存儲(chǔ)路徑不同導(dǎo)致的。以下
2021-12-03 12:06:079

STM32 在 keil 環(huán)境下如何使用 cm_backtrace進(jìn)行錯(cuò)誤追蹤

引言我們?cè)谄匠J褂肧TM32單片機(jī)的時(shí)候,往往會(huì)碰到程序跑飛的情況,出現(xiàn)hard_fulat等錯(cuò)誤,而我們?cè)?b class="flag-6" style="color: red">定位錯(cuò)誤的時(shí)候,采用的方法往往是連上仿真器,一步一步單步調(diào)試,定位到具體的錯(cuò)誤代碼,再去
2021-12-27 18:43:152

Linux內(nèi)核系統(tǒng)調(diào)用概述及實(shí)現(xiàn)原理

本文介紹了系統(tǒng)調(diào)用的一些實(shí)現(xiàn)細(xì)節(jié)。首先分析了系統(tǒng)調(diào)用的意義,它們與庫(kù)函數(shù)和應(yīng)用程序接口(API)有怎樣的關(guān)系。然后,我們考察了Linux內(nèi)核如何實(shí)現(xiàn)系統(tǒng)調(diào)用,以及執(zhí)行系統(tǒng)調(diào)用的連鎖反應(yīng):陷入
2022-05-14 14:11:461874

RTOS中如何確定任務(wù)堆棧的大?。?/a>

詳解C/C++堆棧的工作機(jī)制

我們經(jīng)常會(huì)討論這樣的問(wèn)題:什么時(shí)候數(shù)據(jù)存儲(chǔ)在堆棧(Stack)中,什么時(shí)候數(shù)據(jù)存儲(chǔ)在堆(Heap)中。我們知道,局部變量是存儲(chǔ)在堆棧中的;debug時(shí),查看堆棧可以知道函數(shù)調(diào)用順序;函數(shù)調(diào)用時(shí)傳遞
2022-07-29 09:09:48786

Linux中的系統(tǒng)調(diào)用是怎樣實(shí)現(xiàn)

系統(tǒng)調(diào)用和普通的函數(shù)調(diào)用沒(méi)有本質(zhì)區(qū)別,普通的函數(shù)調(diào)用一般調(diào)用的是我們自己編寫(xiě)的函數(shù)或者其它庫(kù)函數(shù),而系統(tǒng)調(diào)用調(diào)用的則是內(nèi)核中的函數(shù),更學(xué)術(shù)一點(diǎn)的說(shuō)法是這樣的,所謂系統(tǒng)調(diào)用是指用戶態(tài)程序請(qǐng)求操作系統(tǒng)提供的服務(wù)。
2023-02-15 11:40:52980

嵌入式軟件架構(gòu)設(shè)計(jì)之函數(shù)調(diào)用

函數(shù)調(diào)用很好理解,即使剛學(xué)沒(méi)多久的朋友也知道函數(shù)調(diào)用是怎么實(shí)現(xiàn)的,即調(diào)用一個(gè)已經(jīng)封裝好的函數(shù),實(shí)現(xiàn)某個(gè)特定的功能。 把一個(gè)或者多個(gè)功能通過(guò)函數(shù)的方式封裝起來(lái),對(duì)外只提供一個(gè)簡(jiǎn)單的函數(shù)接口,然后在其他地方調(diào)用即可
2023-02-15 14:48:03640

AN028 Cortex-M3內(nèi)核HardFault錯(cuò)誤調(diào)試定位方法

AN028 Cortex-M3內(nèi)核HardFault錯(cuò)誤調(diào)試定位方法
2023-02-27 18:32:290

C語(yǔ)言函數(shù)調(diào)用的形式及過(guò)程

C語(yǔ)言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 在調(diào)用有參函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。 在定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的變量稱為“形式參數(shù)”或“虛擬參數(shù)”;在主調(diào)函數(shù)調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(shù)稱為“實(shí)際參數(shù)”。
2023-03-10 14:28:251048

什么是函數(shù)調(diào)用

函數(shù)調(diào)用,就是使用我們已經(jīng)定義好的函數(shù),或者C語(yǔ)言自帶的庫(kù)函數(shù)
2023-04-04 17:21:453696

SCL中調(diào)用函數(shù)的示例

在此,可插入函數(shù) (FC) 調(diào)用函數(shù)塊 (FB) 調(diào)用。函數(shù)塊可作為單實(shí)例、多重實(shí)例或參數(shù)實(shí)例進(jìn)行調(diào)用。
2023-06-06 10:18:261183

Linux系統(tǒng)調(diào)用的具體實(shí)現(xiàn)原理

文我將基于 ARM 體系結(jié)構(gòu)角度,從 Linux 應(yīng)用層例子到內(nèi)核系統(tǒng)調(diào)用函數(shù)的整個(gè)過(guò)程來(lái)梳理一遍,講清楚linux系統(tǒng)調(diào)用實(shí)現(xiàn)原理,這里我們以open系統(tǒng)調(diào)用為例來(lái)講解。
2023-09-05 17:16:46718

ES32F36xx芯片發(fā)生HardFault異常時(shí)的函數(shù)調(diào)用關(guān)系及問(wèn)題定位

ES32F36xx芯片發(fā)生HardFault異常時(shí)的函數(shù)調(diào)用關(guān)系及問(wèn)題定位
2023-11-06 17:13:21359

python定義函數(shù)調(diào)用函數(shù)的順序

定義函數(shù)調(diào)用函數(shù)的順序 函數(shù)被定義后,本身是不會(huì)自動(dòng)執(zhí)行的,只有在被調(diào)用后,函數(shù)才會(huì)被執(zhí)行,得到相應(yīng)的結(jié)果。但是在 Python 中我們要注意一個(gè)關(guān)鍵點(diǎn),就是Python不允許前向引用,即在函數(shù)
2023-10-04 17:17:00477

python函數(shù)函數(shù)之間的調(diào)用

函數(shù)函數(shù)之間的調(diào)用 3.1 第一種情況 程序代碼如下: def x ( f ): def y (): print ( 1 ) return y def f (): print
2023-10-04 17:17:00306

linux調(diào)試core dump的方法

下面說(shuō)明一下 linux調(diào)試 core dump 方法。 dmesg+addr2line調(diào)試 先介紹 2 個(gè) linux 命令: dmesg ,一種程序,用于檢測(cè)和控制內(nèi)核緩沖。程序用來(lái)幫助用戶
2023-10-08 16:13:54382

malloc在Linux上執(zhí)行的是哪個(gè)系統(tǒng)調(diào)用

malloc底層為什么是內(nèi)存池 malloc大家都用過(guò),其是庫(kù)函數(shù)。我們都知道庫(kù)函數(shù)在不同的操作系統(tǒng)中其實(shí)執(zhí)行的是系統(tǒng)調(diào)用,那么malloc在Linux上執(zhí)行的是哪個(gè)系統(tǒng)調(diào)用呢? brk
2023-11-13 10:36:04386

linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦?

linux用gdb調(diào)試遇到函數(shù)調(diào)用怎么辦? 在Linux上使用GDB調(diào)試時(shí),遇到函數(shù)調(diào)用是一個(gè)常見(jiàn)的情況。函數(shù)調(diào)用可能涉及到多個(gè)函數(shù)、多個(gè)文件,這就需要我們仔細(xì)審查代碼,理解函數(shù)之間的關(guān)系和參數(shù)傳遞
2024-01-31 10:33:36158

已全部加載完成