Shadowsocks libev是一款常用的科学上网工具,但在使用过程中难免会遇到一些问题,本文将介绍如何进行调试以及常见问题的解决方案。
调试方法
1. 查看日志
在使用Shadowsocks libev时,可以通过查看日志来了解程序的运行情况。可以通过以下命令查看日志:
$ sudo journalctl -u shadowsocks-libev.service
2. 使用gdb调试
如果日志无法解决问题,可以使用gdb进行调试。具体步骤如下:
- 安装gdb:
$ sudo apt-get install gdb
- 启动Shadowsocks libev:
$ sudo systemctl start shadowsocks-libev.service
- 使用gdb调试:
$ sudo gdb -ex ‘set follow-fork-mode child’ -ex ‘set detach-on-fork off’ -ex ‘set pagination off’ -ex ‘set non-stop on’ -ex ‘set target-async on’ -ex ‘set print thread-events off’ -ex ‘set print pretty on’ -ex ‘set print object on’ -ex ‘set print sevenbit-strings off’ -ex ‘set print elements 0’ -ex ‘set print array on’ -ex ‘set print static-members off’ -ex ‘set print vtbl off’ -ex ‘set print demangle off’ -ex ‘set print symbol-loading off’ -ex ‘set print asm-demangle on’ -ex ‘set print type-printer on’ -ex ‘set print union on’ -ex ‘set print address off’ -ex ‘set print max-symbolic-offset 0’ -ex ‘set print max-depth 0’ -ex ‘set print max-children 0’ -ex ‘set print max-array 0’ -ex ‘set print max-string 0’ -ex ‘set print max-struct 0’ -ex ‘set print max-line-size 0’ -ex ‘set print max-display-children 0’ -ex ‘set print max-value-size 0’ -ex ‘set print max-symbol-size 0’ -ex ‘set print max-fields 0’ -ex ‘set print max-frames 0’ -ex ‘set print max-args 0’ -ex ‘set print max-locals 0’ -ex ‘set print max-threads 0’ -ex ‘set print max-modules 0’ -ex ‘set print max-sections 0’ -ex ‘set print max-symbolic-arguments 0’ -ex ‘set print max-symbolic-locals 0’ -ex ‘set print max-symbolic-frames 0’ -ex ‘set print max-symbolic-depth 0’ -ex ‘set print max-symbolic-children 0’ -ex ‘set print max-symbolic-array 0’ -ex ‘set print max-symbolic-string 0’ -ex ‘set print max-symbolic-struct 0’ -ex ‘set print max-symbolic-line-size 0’ -ex ‘set print max-symbolic-display-children 0’ -ex ‘set print max-symbolic-value-size 0’ -ex ‘set print max-symbolic-symbol-size 0’ -ex ‘set print max-symbolic-fields 0’ -ex ‘set print max-symbolic-frames 0’ -ex ‘set print max-symbolic-args 0’ -ex ‘set print max-symbolic-locals 0’ -ex ‘set print max-symbolic-threads 0’ -ex ‘set print max-symbolic-modules 0’ -ex ‘set print max-symbolic-sections 0’ -ex ‘set print max-symbolic-symbolic-arguments 0’ -ex ‘set print max-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-depth 0’ -ex ‘set print max-symbolic-symbolic-children 0’ -ex ‘set print max-symbolic-symbolic-array 0’ -ex ‘set print max-symbolic-symbolic-string 0’ -ex ‘set print max-symbolic-symbolic-struct 0’ -ex ‘set print max-symbolic-symbolic-line-size 0’ -ex ‘set print max-symbolic-symbolic-display-children 0’ -ex ‘set print max-symbolic-symbolic-value-size 0’ -ex ‘set print max-symbolic-symbolic-symbol-size 0’ -ex ‘set print max-symbolic-symbolic-fields 0’ -ex ‘set print max-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-args 0’ -ex ‘set print max-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-threads 0’ -ex ‘set print max-symbolic-symbolic-modules 0’ -ex ‘set print max-symbolic-symbolic-sections 0’ -ex ‘set print max-symbolic-symbolic-symbolic-arguments 0’ -ex ‘set print max-symbolic-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-symbolic-depth 0’ -ex ‘set print max-symbolic-symbolic-symbolic-children 0’ -ex ‘set print max-symbolic-symbolic-symbolic-array 0’ -ex ‘set print max-symbolic-symbolic-symbolic-string 0’ -ex ‘set print max-symbolic-symbolic-symbolic-struct 0’ -ex ‘set print max-symbolic-symbolic-symbolic-line-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-display-children 0’ -ex ‘set print max-symbolic-symbolic-symbolic-value-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbol-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-fields 0’ -ex ‘set print max-symbolic-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-symbolic-args 0’ -ex ‘set print max-symbolic-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-symbolic-threads 0’ -ex ‘set print max-symbolic-symbolic-symbolic-modules 0’ -ex ‘set print max-symbolic-symbolic-symbolic-sections 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-arguments 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-depth 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-children 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-array 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-string 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-struct 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-line-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-display-children 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-value-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-symbol-size 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-fields 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-args 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-threads 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-modules 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-sections 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-symbolic-arguments 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-symbolic-locals 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-symbolic-frames 0’ -ex ‘set print max-symbolic-symbolic-symbolic-symbolic-symbolic-depth 0’ -ex ‘set print max-symbolic-symbolic-symbol