linux的问题总结1

1. Segmentation Fault排查

段错误(Segmentation Fault)是一种常见的程序错误,通常在访问无效的内存地址时发生。如内存访问错误(访问野指针,操控空指针,数组越界),动态内存分配问题(内存泄漏,重复释放,访问已释放内存),栈溢出等

可以使用gdb命令生成对应的core文件排查报错位置一步步修改。

  /* 1、 核心转储文件生成*/ 
    gcc main.c -g -o main   //带 -g ,可以使用gdb 调试 
  ./main   // 运行文件,会在当前目录产生core文件。  为core dump  核心转储文件
  
  /* 2、 gdb 调试器 加载core文件*/
 (gdb)  ./main ./core
  /* 3、使用bt 或 where 查看调用堆栈,定位崩溃位置*/
 (gdb) bt
  /* 4、可以使用其他命令查看变量状态*/
 (gdb) up 或f [number]   
  /* 5、显示指定变量的当前值*/
 (gdb) print [variable_name]     // 缩写 p
    
  /*可以调试程序*/
  (gdb) break/b 2    //第二行打断点 缩写
  (gdb) run  // 运行
  (gdb) list  // 查看源码
  (gdb) continue/c //跳到下个断点
  (gdb) delete 2  // 删除断点
  (gdb) next/n  // 单步跟踪,不进入函数
  (gdb) step/s  // 单步跟踪,进入函数
  (gdb) until   // 跳出循环
  (gdb) quit/q  // 退出
  (gdb) finish  // 运行程序至解释

2. linux无法生成调试core文件

运行程序时出现 :段错误(核心已转储)Segmentation Fault,却没有生成core文件.

首先查看 ulimit -a 查看core file size, 如果为0则需要通过命令设置来设置大小(临时),可通过ulimit -c size 设置大小。或者 ulimit -c unlimited.

如果还没有生成core文件,运行以下命令再重新运行程序

sudo bash -c "echo core > /proc/sys/kernel/core_pattern "

3. 单板开不了机:

因为非法关机等原因,磁盘损坏。

使用 fsck -y /dev/sda1   修复磁盘
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Linux系统下的CUDNN库时,可能会遇到复制的问题。CUDNN是NVIDIA的一个深度学习库,它提供了用于在GPU上实现深度神经网络的各种函数。复制问题通常出现在将CUDNN库复制到Linux系统中的过程中。 要解决此问题,首先需要确保CUDNN库的版本与您的GPU驱动程序兼容。您可以在NVIDIA的官方网站上找到CUDNN库的最新版本,并根据您的GPU型号和驱动程序版本选择合适的库。 在复制CUDNN库文件到Linux系统时,需要将其放置在适当的路径下。通常,CUDNN库的文件结构类似于以下形式:cudnn/include、cudnn/lib64。您可以在Linux系统的/usr/local/cuda目录下创建一个cudnn文件夹,并将包含CUDNN库的文件夹复制到该目录下。 完成复制后,您还需要确保系统能够找到CUDNN库。您可以通过设置LD_LIBRARY_PATH环境变量来实现这一点。在终端中执行以下命令,将CUDNN库的路径添加到LD_LIBRARY_PATH环境变量中: export LD_LIBRARY_PATH=/usr/local/cuda/cudnn/lib64:$LD_LIBRARY_PATH 完成以上步骤后,您就可以在Linux系统中成功复制CUDNN库了。在编译和运行深度学习代码时,确保将正确的CUDNN库链接到您的项目中。 总结起来,解决Linux CUDNN复制问题的关键步骤包括选择合适的CUDNN版本、正确复制CUDNN库文件到系统中,并设置LD_LIBRARY_PATH环境变量。这样您就可以顺利在Linux系统中使用CUDNN库进行深度学习的开发和应用了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值