voidWatchDog::stop(){ do { std::unique_lock<std::mutex> lock(_mutex); _stopped = true; _cond.notify_one(); // wake up the dog } while(false); try { _dog.join(); } catch (...) { // it's ok, could already be dead } }
找到C:\Program Files\Sublime Text 3\Packages\C++.sublime-package
复制到一个有写权限的目录,重命名为C++.sublime-package.zip
打开压缩包找到C Single File.sublime-build或C++ Single File.sublime-build
i b // info breakpoint b 10 // set breakpoint at line 10 b func // set breakpoint at function "func" b A::A // 设置成员函数的断点 b func(int) // 设置函数断点时指定函数类型,以便在有重载时区分 c // continue p x // print the value of x i ar // info args 查看函数参数的值 i lo // info locals 查看所有局部变量的值 bt // backtrace 查看调用栈 f 1 // 设置栈针到level 1,断点停的地方是level 0,level 1就是上一层,根据bt返回的结果设置,切换栈针后再用i ar和i lo查看当前栈针的变量信息 i thr // info thread 查看线程信息 thr 2 // thread 2 切换当前线程到id:2,根据i thr的返回结果设置 q // quit GDB