README: point to CONTRIBUTING where relevant.
parent
2eb934243b
commit
f1d4c4a50c
|
@ -156,3 +156,85 @@ std::string SolveSpace::Dirname(std::string filename) {
|
||||||
return "";
|
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`.
|
||||||
|
|
84
README.md
84
README.md
|
@ -153,87 +153,11 @@ in bash:
|
||||||
[cmakewin]: http://www.cmake.org/download/#latest
|
[cmakewin]: http://www.cmake.org/download/#latest
|
||||||
[mingw]: http://www.mingw.org/
|
[mingw]: http://www.mingw.org/
|
||||||
|
|
||||||
Debugging a crash
|
Contributing
|
||||||
-----------------
|
------------
|
||||||
|
|
||||||
SolveSpace releases are throughly tested but sometimes they contain crash
|
See the [guide for contributors](CONTRIBUTING.md) for the best way to file issues, contribute code,
|
||||||
bugs anyway. The reason for such crashes can be determined only if the executable
|
and debug SolveSpace.
|
||||||
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`.
|
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
Loading…
Reference in New Issue