Syncthing源码解析 - 在Gogland中对Syncthing的各个模块进行调试?
Syncthing的模块很多,各自负责不同的功能,如何能够对各个模块进行调试?Syncthing开发者早就想到这个问题了,允许开发者对任意模块进行单独调试,也允许同时对所有模块调试,调试方式是打印各个模块的操作以及事件的log信息到控制台和log文件中!
调试方法:
在Windows操作系统中,打开控制台窗口,进入Syncthing的程序目录,随后依次运行下面两个命令:
set STTRACE=all
syncthing
set STTRACE=all,这个命令设置环境变量,让Syncthing打印所有模块的log信息!!这样做之后输出信息会很多很多,对于全面了解Syncthing确实是不错的选择,但是如果仅仅关注某个模块,那么不应该这样设置,应该设置为具体模块名称了,这些设置参数如下:
参数说明:模块名称参数 (模块描述)
- beacon (Multicast and broadcast discovery)
 - config (Configuration loading and saving)
 - connections (Connection handling)
 - db (The database layer)
 - dialer (Dialing connections)
 - discover (Remote device discovery)
 - events (Event generation and logging)
 - http (REST API)
 - main (Main package)
 - model (The root hub)
 - nat (NAT discovery and port mapping)
 - pmp (NAT-PMP discovery and port mapping)
 - protocol (The BEP protocol)
 - scanner (File change detection and hashing)
 - sha256 (SHA256 hashing package)
 - stats (Persistent device and folder statistics)
 - sync (Mutexes)
 - upgrade (Binary upgrades)
 - upnp (UPnP discovery and port mapping)
 - versioner (File versioning)
 - all (all of the above)
 
上面是在Windows的DOS窗口中操作,是否可以在Gogland中完成同样操作呢?一定可以的!!
1,打开Gogland的"Terminal"窗口。下面截图可以通过两种方式打开:A,通过上面菜单;B,通过下面工具栏按钮。截图中分别标注出来了。

2,进入Syncthing可执行文件目录,依次执行上面两个命令,从而进入Syncthing的调试模式!下面截图是进入Syncthing调试模式后输出的各种log信息截图!

3,终止对当前Syncthing的调试。点击终端窗口左上角的小红X,就会立即中断当前运行的进程!!

参考:https://docs.syncthing.net/dev/debugging.html
Syncthing源码解析 - 在Gogland中对Syncthing的各个模块进行调试?的更多相关文章
- Spring5源码解析-Spring框架中的单例和原型bean
		
Spring5源码解析-Spring框架中的单例和原型bean 最近一直有问我单例和原型bean的一些原理性问题,这里就开一篇来说说的 通过Spring中的依赖注入极大方便了我们的开发.在xml通过& ...
 - Syncthing源码解析
		
Gogland编译Syncthing 源码目录说明 Syncthing启动过程分析 在Gogland中对Syncthing的各个模块进行调试 第三方库
 - Syncthing源码解析 - 源码目录说明!
		
Syncthing是一个免费开源的p2p软件,Go语言编写的! 官网:https://syncthing.net/ 源码:https://github.com/syncthing/syncthing/ ...
 - 【源码解析】Sharding-Jdbc中的算法
		
Sharding-jdbc中的很多地方涉及到算法,比如主从配置这块.分库分表这块.本文主要从源码角度介绍下,目前主要包含哪些算法,以及这些算法的内容. 一.读写分离(主从配置) 这块的代码主要在cor ...
 - Syncthing源码解析 - 启动过程
		
我相信很多朋友会认为启动就是双击一下Syncthing程序图标,随后就启动完毕了!如果这样认为,对,也不对!对,是因为的确是这样操作,启动了Syncthing:不对是因为在调试Syncthing启动过 ...
 - html 网页源码解析:bs4中BeautifulSoup
		
from bs4 import BeautifulSoup result=requests.request("get","http://www.baidu.com&quo ...
 - Redis源码解析:13Redis中的事件驱动机制
		
Redis中,处理网络IO时,采用的是事件驱动机制.但它没有使用libevent或者libev这样的库,而是自己实现了一个非常简单明了的事件驱动库ae_event,主要代码仅仅400行左右. 没有选择 ...
 - ReactiveCocoa源码解析(四) Signal中的静态属性静态方法以及面向协议扩展
		
上篇博客我们聊了Signal的几种状态.Signal与Observer的关联方式以及Signal是如何向关联的Observer发送事件的.本篇博客继续上篇博客的内容,来聊一下Signal类中静态的ne ...
 - ReactiveSwift源码解析(四) Signal中的静态属性静态方法以及面向协议扩展
		
上篇博客我们聊了Signal的几种状态.Signal与Observer的关联方式以及Signal是如何向关联的Observer发送事件的.本篇博客继续上篇博客的内容,来聊一下Signal类中静态的ne ...
 
随机推荐
- leetcode112
			
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
 - rook 删不掉的问题
			
# kubectl get crd -o yamlapiVersion: v1items:- apiVersion: apiextensions.k8s.io/v1beta1 kind: Custo ...
 - RabbitMQ学习在windows下安装配置
			
RabbitMQ学习一. 在windows下安装配置 1.下载并安装erlang,http://www.erlang.org/download.html,最新版是R15B01(5.9.1).由于我机器 ...
 - java高级工程师(一)
			
一.无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二.三大框架方面问题 1.Spring 事务的隔离性,并说说每个隔离性的区别 ...
 - 微软AntiXSS防止xss攻击类库
			
AntiXSS,由微软推出的用于防止XSS攻击的一个类库,可实现输入白名单机制和输出转义. AntiXSS最新版的下载地址:http://wpl.codeplex.com 下载安装之后,安装目录下有以 ...
 - 利率计算v4.0--测试--软件工程
			
利率计算v4.0--测试 package Test; import Model.Interest; import Service.CompoundInterestService; import Ser ...
 - ubuntu系统中解决github下载速度慢问题
			
如果你在使用github,出现访问和下载速度慢问题,可以通过修改host解决.记得不要踩坑哦!分四步: 第一步:查询速度快的IP地址 在http://tool.chinaz.com/dns中查询下面三 ...
 - js 右击事件
			
$.fn.extend({ "rightclick": function (fn) { $(this).mousedown(function ( ...
 - 启动项目报错:502 Server dropped connection  The following error occurred while trying to access http://localhost:8080/TestDemo:
			
之前的项目一直是好的,可以启动,但最近启动出了问题,访问不了,于是找到原因发现是启用了访问国外网站的加速器, 更改了浏览器的代理模式,如下: 解决方法: 打开浏览器,进入到浏览器的网络设置中,将局域网 ...
 - MongoDB管理与开发实战详解文摘
			
第1篇 基础篇 第1章 MongoDB简介 关系型数据库面临的问题:数据库并发负载高,海量数据存储与访问,数据库数据越来越大,事务管理的负担,关系型数据库读.写实时性的忽略,多表关联查询被弱化 第2章 ...