# Debugging ## XDS server architecture The server part is written in *Go* and web app (basic HTML) in *Angular4*. ```bash | +-- bin/ # where xds-server binary file will be built | +-- conf.d/ # Linux configuration and startup files (systemd user service) | +-- glide.yaml # Go package dependency file | +-- lib/ # sources of server part (Go) | +-- LICENSE # XDS server license | +-- main.go # main entry point of of Web server (Go) | +-- Makefile # makefile including | +-- README.md # readme | +-- scripts/ # hold various scripts used for installation or startup | +-- test/ # XDS test suite | +-- tools/ # temporary directory to hold development tools (like glide) | +-- vendor/ # temporary directory to hold Go dependencies packages | +-- webapp/ # source client basic web application ``` ## Debug server part (Go code) Install first [Visual Studio Code](https://code.visualstudio.com/) and [Go plugin](https://marketplace.visualstudio.com/items?itemName=lukehoban.Go) (`ext install lukehoban.Go`) Visual Studio Code launcher settings can be found into `.vscode/launch.json`. Please follow instructions of xds-agent [debugging chapter](../2_xds-agent/4_debug.html#debug-xds-agent-go-code), knowing that you execute these same instructions in `xds-server` repo, in other words by replacing *xds-agent* references by *xds-server*.