README: point to CONTRIBUTING where relevant.

pull/106/head
whitequark 2017-01-02 22:40:36 +00:00
parent 2eb934243b
commit f1d4c4a50c
2 changed files with 86 additions and 80 deletions

View File

@ -156,3 +156,85 @@ std::string SolveSpace::Dirname(std::string filename) {
return "";
}
```
Debugging code
--------------
SolveSpace releases are throughly tested but sometimes they contain crash
bugs anyway. The reason for such crashes can be determined only if the executable
was built with debug information.
### Debugging a released version
The Linux distributions usually include separate debug information packages.
On a Debian derivative (e.g. Ubuntu), these can be installed with:
apt-get install solvespace-dbg
The macOS releases include the debug information, and no further action
is needed.
The Windows releases include the debug information on the GitHub
[release downloads page](https://github.com/solvespace/solvespace/releases).
### Debugging a custom build
If you are building SolveSpace yourself on a Unix-like platform,
configure or re-configure SolveSpace to produce a debug build, and
then re-build it:
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug [other cmake args...]
make
If you are building SolveSpace yourself using the Visual Studio IDE,
select Debug from the Solution Configurations list box on the toolbar,
and build the solution.
### Debugging with gdb
gdb is a debugger that is mostly used on Linux. First, run SolveSpace
under debugging:
gdb [path to solvespace executable]
(gdb) run
Then, reproduce the crash. After the crash, attach the output in
the console, as well as output of the following gdb commands to
a bug report:
(gdb) backtrace
(gdb) info locals
If the crash is not easy to reproduce, please generate a core file,
which you can use to resume the debugging session later, and provide
any other information that is requested:
(gdb) generate-core-file
This will generate a large file called like `core.1234` in the current
directory; it can be later re-loaded using `gdb --core core.1234`.
### Debugging with lldb
lldb is a debugger that is mostly used on macOS. First, run SolveSpace
under debugging:
lldb [path to solvespace executable]
(lldb) run
Then, reproduce the crash. After the crash, attach the output in
the console, as well as output of the following gdb commands to
a bug report:
(lldb) backtrace all
(lldb) frame variable
If the crash is not easy to reproduce, please generate a core file,
which you can use to resume the debugging session later, and provide
any other information that is requested:
(lldb) process save-core "core"
This will generate a large file called `core` in the current
directory; it can be later re-loaded using `lldb -c core`.

View File

@ -153,87 +153,11 @@ in bash:
[cmakewin]: http://www.cmake.org/download/#latest
[mingw]: http://www.mingw.org/
Debugging a crash
-----------------
Contributing
------------
SolveSpace releases are throughly tested but sometimes they contain crash
bugs anyway. The reason for such crashes can be determined only if the executable
was built with debug information.
### Debugging a released version
The Linux distributions usually include separate debug information packages.
On a Debian derivative (e.g. Ubuntu), these can be installed with:
apt-get install solvespace-dbg
The macOS releases include the debug information, and no further action
is needed.
The Windows releases include the debug information on the GitHub
[release downloads page](https://github.com/solvespace/solvespace/releases).
### Debugging a custom build
If you are building SolveSpace yourself on a Unix-like platform,
configure or re-configure SolveSpace to produce a debug build, and
then re-build it:
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug [other cmake args...]
make
If you are building SolveSpace yourself using the Visual Studio IDE,
select Debug from the Solution Configurations list box on the toolbar,
and build the solution.
### Debugging with gdb
gdb is a debugger that is mostly used on Linux. First, run SolveSpace
under debugging:
gdb [path to solvespace executable]
(gdb) run
Then, reproduce the crash. After the crash, attach the output in
the console, as well as output of the following gdb commands to
a bug report:
(gdb) backtrace
(gdb) info locals
If the crash is not easy to reproduce, please generate a core file,
which you can use to resume the debugging session later, and provide
any other information that is requested:
(gdb) generate-core-file
This will generate a large file called like `core.1234` in the current
directory; it can be later re-loaded using `gdb --core core.1234`.
### Debugging with lldb
lldb is a debugger that is mostly used on macOS. First, run SolveSpace
under debugging:
lldb [path to solvespace executable]
(lldb) run
Then, reproduce the crash. After the crash, attach the output in
the console, as well as output of the following gdb commands to
a bug report:
(lldb) backtrace all
(lldb) frame variable
If the crash is not easy to reproduce, please generate a core file,
which you can use to resume the debugging session later, and provide
any other information that is requested:
(lldb) process save-core "core"
This will generate a large file called `core` in the current
directory; it can be later re-loaded using `lldb -c core`.
See the [guide for contributors](CONTRIBUTING.md) for the best way to file issues, contribute code,
and debug SolveSpace.
License
-------