errno即最后一次错误的错误码,定义在<errno.h>里面,是一个宏

#if !defined _LIBC || defined _LIBC_REENTRANT
/* When using threads,errno is a per-thread value. */
#define errno (*__errno_location ())
# endif

errno是线程安全的,好像每个线程都有自己的errno
打印errno是一个错误码,还需要去对照找具体含义,而调用一下下面这个函数就可以将错误码转换成字符串描述的错误信息

char *strerror(int errno)

当在gdb里打印errno值的时候,有可能会出现cant find thread-local storage xxxx的提示信息,这时可以尝试直接打印p *__errno_location (),需要注意的是注意函数原型有没有问题,ptype看下,万一是64位cpu可能有数据被截断的风险

附错误定义:
errno: 0 Success
errno: 1 Operation not permitted
errno: 2 No such file or directory
errno: 3 No such process
errno: 4 Interrupted system call
errno: 5 Input/output error
errno: 6 No such device or address
errno: 7 Argument list too long
errno: 8 Exec format error
errno: 9 Bad file descriptor
errno: 10 No child processes
errno: 11 Resource temporarily unavailable
errno: 12 Cannot allocate memory
errno: 13 Permission denied
errno: 14 Bad address
errno: 15 Block device required
errno: 16 Device or resource busy
errno: 17 File exists
errno: 18 Invalid cross-device link
errno: 19 No such device
errno: 20 Not a directory
errno: 21 Is a directory
errno: 22 Invalid argument
errno: 23 Too many open files in system
errno: 24 Too many open files
errno: 25 Inappropriate ioctl for device
errno: 26 Text file busy
errno: 27 File too large
errno: 28 No space left on device
errno: 29 Illegal seek
errno: 30 Read-only file system
errno: 31 Too many links
errno: 32 Broken pipe
errno: 33 Numerical argument out of domain
errno: 34 Numerical result out of range
errno: 35 Resource deadlock avoided
errno: 36 File name too long
errno: 37 No locks available
errno: 38 Function not implemented
errno: 39 Directory not empty
errno: 40 Too many levels of symbolic links
errno: 41 Unknown error 41
errno: 42 No message of desired type
errno: 43 Identifier removed
errno: 44 Channel number out of range
errno: 45 Level 2 not synchronized
errno: 46 Level 3 halted
errno: 47 Level 3 reset
errno: 48 Link number out of range
errno: 49 Protocol driver not attached
errno: 50 No CSI structure available
errno: 51 Level 2 halted
errno: 52 Invalid exchange
errno: 53 Invalid request descriptor
errno: 54 Exchange full
errno: 55 No anode
errno: 56 Invalid request code
errno: 57 Invalid slot
errno: 58 Unknown error 58
errno: 59 Bad font file format
errno: 60 Device not a stream
errno: 61 No data available
errno: 62 Timer expired
errno: 63 Out of streams resources
errno: 64 Machine is not on the network
errno: 65 Package not installed
errno: 66 Object is remote
errno: 67 Link has been severed
errno: 68 Advertise error
errno: 69 Srmount error
errno: 70 Communication error on send
errno: 71 Protocol error
errno: 72 Multihop attempted
errno: 73 RFS specific error
errno: 74 Bad message
errno: 75 Value too large for defined data type
errno: 76 Name not unique on network
errno: 77 File descriptor in bad state
errno: 78 Remote address changed
errno: 79 Can not access a needed shared library
errno: 80 Accessing a corrupted shared library
errno: 81 .lib section in a.out corrupted
errno: 82 Attempting to link in too many shared libraries
errno: 83 Cannot exec a shared library directly
errno: 84 Invalid or incomplete multibyte or wide character
errno: 85 Interrupted system call should be restarted
errno: 86 Streams pipe error
errno: 87 Too many users
errno: 88 Socket operation on non-socket
errno: 89 Destination address required
errno: 90 Message too long
errno: 91 Protocol wrong type for socket
errno: 92 Protocol not available
errno: 93 Protocol not supported
errno: 94 Socket type not supported
errno: 95 Operation not supported
errno: 96 Protocol family not supported
errno: 97 Address family not supported by protocol
errno: 98 Address already in use
errno: 99 Cannot assign requested address
errno: 100 Network is down
errno: 101 Network is unreachable
errno: 102 Network dropped connection on reset
errno: 103 Software caused connection abort
errno: 104 Connection reset by peer
errno: 105 No buffer space available
errno: 106 Transport endpoint is already connected
errno: 107 Transport endpoint is not connected
errno: 108 Cannot send after transport endpoint shutdown
errno: 109 Too many references: cannot splice
errno: 110 Connection timed out
errno: 111 Connection refused
errno: 112 Host is down
errno: 113 No route to host
errno: 114 Operation already in progress
errno: 115 Operation now in progress
errno: 116 Stale file handle
errno: 117 Structure needs cleaning
errno: 118 Not a XENIX named type file
errno: 119 No XENIX semaphores available
errno: 120 Is a named type file
errno: 121 Remote I/O error
errno: 122 Disk quota exceeded
errno: 123 No medium found
errno: 124 Wrong medium type
errno: 125 Operation canceled
errno: 126 Required key not available
errno: 127 Key has expired
errno: 128 Key has been revoked
errno: 129 Key was rejected by service
errno: 130 Owner died
errno: 131 State not recoverable
errno: 132 Operation not possible due to RF-kill
errno: 133 Memory page has hardware error
errno: 134~255 unknown error!

gdb打印errno显示cant find thread-local storage xxxx相关推荐

  1. TLS(Thread Local Storage)问题demo

      C++11中的thread_local是C++存储期的一种,属于线程存储期.存储期定义C++程序中变量/函数的范围(可见性)和生命周期.C++程序中可用的存储期包括auto.register.st ...

  2. thread local storage

    有时会需要这种模式,一个全局变量,需要在程序的任何地方都可以使用它,但是当这个变量出现在不同线程时,就要求系统将这个变量拷贝到各个线程中,这样的话,每个线程内部也可以随时访问本线程的全局变量,但是线程 ...

  3. java线程本地存储_[并发并行]_[C/C++]_[使用线程本地存储Thread Local Storage(TLS)-win32和pthread比较]...

    场景: 1.  需要统计某个线程的对象上创建的个数. 2. 当创建的堆空间需要根据线程需要创建和结束时销毁时. 3. 因为范围是线程只能看到自己的存储数据,所以不需要临界区或互斥量来维护自己的堆内存. ...

  4. Goroutine Local Storage的一些实现方案和必要性讨论

    Java的ThreadLocal是Java为每个线程提供的专用存储,把一些信息放在ThreadLocal上,可以用于来简化上层应用的API使用.一个显著的应用场景是,有了ThreadLocal后,就不 ...

  5. linux gdb打印内存命令,linux下gdb常用的调试命令--by流氓兔斯基

    用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法. 呵呵,有时迷茫了自己处在什么堆栈的深处,这是使用where命令能够清晰的看到自己的位置,有时在循环太多让人 ...

  6. JVM线程本地分配缓冲区(Thread Local Allocation Buffer)TLAB详解

    最近在看java性能相关方面的书籍.然后在GC调优相关的部分出现了,线程本地分配缓冲区的名词,对于它的调优级为重要,所以就梳理一下这个到底是什么?为什么他对于JVM性能如此重要. 什么是JVM线程本地 ...

  7. 全链路跟踪之线程上下文Thread Local实战(完整源码)

    写在开头: 我是「猿码天地」,一个热爱技术.热爱编程的IT猿.技术是开源的,知识是共享的! 写博客是对自己学习的总结和记录,如果您对Java.分布式.微服务.中间件.Spring Boot.Sprin ...

  8. java操作跨页的word cell,“excle如何打印不出现断行“EXCEL中,如何不跨页断行打印或显示,谢谢...

    EXCEL中,如何不跨页断行打印或显示,谢谢 打印预览--页面设置--工作表--网格线(打勾) 试试! java导入excel 判断当前行有没有数据 工作中用到入excel一个方法,你还可以通过一些插 ...

  9. 换行显示print_r($arr);打印结果显示:Array( [0] = 百度 [1] = 阿里)

    数组array是非常重要的数据类型.相对于其他的数据类型,它更像是一种结构,而这种结果构可以存储一系列数值.数组能够在单一变量名中存储许多值,并且能够通过引用下标号来访问某个值. 在 PHP 中,有三 ...

最新文章

  1. 简单实现ConfigurationManager.AppSettings[]效果存储系统变量
  2. jmeter json断言_Jmeter接口测试+压力测试
  3. 对高性能Web服务的研究笔记
  4. 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR
  5. ViewPager用法
  6. 标定中是什么意思_机械加工中,测头有什么作用呢?
  7. LiveVideoStackCon技术培训 限量买1赠1
  8. [.Net 多线程处理系列专题七——对多线程的补充
  9. Atom飞行手册翻译: 2.14 小结
  10. 移动应用框架 Ionic 4 Ionic for Everyone
  11. 基于蚁群算法求解求解TSP问题(JAVA)
  12. Visual Studio 开发环境安装与配置
  13. zabbix监控服务器raid状态,基于Zabbix的MegaRAID阵列卡状态监控
  14. Macbook做Wifi热点,用蓝牙分享
  15. OO第四单元作业小结
  16. 【Android App】在线语音识别功能实现(使用云知声平台与WebSocket 超详细 附源码)
  17. 修改北斗AR地球仪激活验证
  18. Axure 制作验证码交互
  19. mySQL下载后的初次使用
  20. html的公共样式,HTML+CSS入门 CSS公共样式

热门文章

  1. [FPGA 日常记录] #5 常见 FPGA 论坛排名 / 按活跃度
  2. 德信计算机怎么开音乐,计算机模式识德信别 文献阅读.ppt
  3. OpenCV实现图片搜索引擎
  4. libreoffice转换文档的方法(支持各平台各版本的libreoffice)
  5. 计算机网络路由器配置实验,路由器配置实验报告-计算机网络(免费)_IT /计算机_数据...
  6. Jquery中的ajax请求($.ajax())参数请求详解
  7. Kali Linux(2021.2)系统 安装中文输入法
  8. word中如何快速引用参考文献
  9. 用Matlab进行时域信号的频谱分析
  10. 实战-H3C交换机之Web界面