gpt4 book ai didi

c - 分析 Segmentation fault Core Dump (gdb)

转载 作者:太空宇宙 更新时间:2023-11-04 07:55:07 30 4
gpt4 key购买 nike

在 imax6q 定制硬件设计上运行基于 Linux 的应用程序时,我遇到了以下段错误。我使用 Linux GDB 回溯了核心转储,然后您可以看到这些核心转储。

我正在使用的内核 - Linux-boundary 4.1.15

段错误核心转储 1

Program terminated with signal SIGSEGV, Segmentation fault.
#0 gcoTEXTURE_BindTextureEx (Texture=0x263c6c4, Target=Target@entry=0,
Sampler=1, Sampler@entry=0, Info=Info@entry=0x23f0708,
textureLayer=textureLayer@entry=0)
at gc_hal_user_texture.c:3804
3804 gc_hal_user_texture.c: No such file or directory.

段错误核心转储 2

Program terminated with signal SIGSEGV, Segmentation fault.
#0 _SetFenceCtx (fence=0x5c30d6c, head=0x5c2ab74) at
gc_hal_user_hardware.c:5752
5752 gc_hal_user_hardware.c: No such file or directory.

1) 这些核心转储指向以下源文件。但是我在上面的 Linux-boundary 4.1.15 内核构建中找不到这些文件。他们指的是什么?要克服这个问题,您有什么建议?

gc_hal_user_texture.c
gc_hal_user_hardware.c
src/glcore/gc_es_draw.c:943
src/glcore/gc_es_api.c:399

2) 我可以在我的内核构建中找到一个名为 gc_hal_kernel_hardware.c 的文件。那么这是 gdb 回溯日志指出的文件吗?您知道这种段错误吗?

最佳答案

阅读documentation of gdb , 特别是 9.5 Specifying Source Directories .由于您有一个 core 转储,它是一些 user-space崩溃的应用程序(不是 kernel ;内核应该永远不会崩溃,不幸的是,当它崩溃时,您可能会有一个卡住的系统)。另见 signal(7) .您的 gc_hal_user_texture.c 属于崩溃 application , 或者一些 library被它使用。

您可能会使用 file(1)找出哪个程序产生那个核心。运行核心文件。另见 core(5) & proc(5) .

一定要compile该程序与 DWARF调试信息和所有警告,所以 gcc -g -Wall -Wextra

阅读Operating Systems: Three Easy Pieces理解原理(以及用户空间代码和操作系统内核代码之间的区别)。

But I couldn't find those file in the above Linux-boundary 4.1.15 kernel build. What are they referring to?

这些gc_hal_user_texture.c ... src/glcore/gc_es_api.c文件引用了一些应用程序或库源代码(当然它们不是内核源文件) .

关于c - 分析 Segmentation fault Core Dump (gdb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50712275/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com