一.常用普通调试命令 1.简单介绍GDB 介绍: gdb是Linux环境下的代码调试⼯具.使⽤:需要在源代码⽣成的时候加上 -g 选项.开始使⽤: gdb binFile退出: ctrl + d 或 quit 2.调试过程 (1)list命令 list linenum 显⽰binFile第linenum行周围的源代码,接着上次的位置往下列,每次列10⾏. list function 显示函数名为function的函数的源程序 list
ThreadLocal可以定义线程范围的变量,也可以称之为线程局部变量.与一般的变量的区别在于,生命周期是在线程范围内的. 也就是说某个类的某个对象(为清晰描述,以下称A对象)里面有个ThreadLocal变量, 那么每开一个线程,在线程中第一次调用A对象,都会先初始化该变量的值,并且不会对其他线程中的A对象产生影响.测试如下: public interface IBase { public static final ThreadLocal<Boolean> onlyCallLocalFlg
共享数据是多线程应用最常见的问题之一,但有时我们需要为每个线程保存一份独立的变量.Java API 提供了 ThreadLocal 来解决这个问题. 一个 ThreadLocal 作用的例子: import java.util.Date; public class Main { public static void main(String[] args) { Runnable task = new Runnable() { private ThreadLocal<Date> dateVar =
由于原生的gdb对vector,map等容器的支持不太好,所以找到了一个工具,将这个工具集成到gdb中,就可以实现map,vector等容器的内容的打印操作. 1.用vim将下方的代码拷贝到一个新的文件中,名为stl_views_1.0.3.gdb,这个是一个简单的工具的源码. # # STL GDB evaluators/views/utilities - 1.03 # # The new GDB commands: # are entirely non instrumental # do n