980
edits
mNo edit summary |
(What I'm really doing) |
||
Line 1: | Line 1: | ||
==Start With== | |||
*[[/cmake.org/getting-started/|https://cmake.org/getting-started/]] -- Build using g++ and clang. | |||
*[[/learn.microsoft.com/en-us/vcpkg/|https://learn.microsoft.com/en-us/vcpkg/]] -- cross-platform C/C++ package manager | |||
*[[/www.sourceware.org/gdb/|https://www.sourceware.org/gdb/]] or [[/lldb.llvm.org/|https://lldb.llvm.org/]] -- Debuggers | |||
*[[/github.com/google/sanitizers|https://github.com/google/sanitizers]] -- Read about each of the available sanitizers | |||
*[[/valgrind.org/docs/manual/quick-start.html|https://valgrind.org/docs/manual/quick-start.html]] -- A suite of debugging and profiling tools | |||
*A review of all the options for each tool you want to acquire. | |||
==Follow-on Questions== | |||
* Does g++ support each of these sanitizers? | |||
*What other tools should I research besides gdb, lldb, valgrind, UBSAN, ASAN, TSAN, and MSAN? | |||
*Are there tools other than sanitizers and debuggers I should know about? | |||
*Are there obsolete tools I should ignore? | |||
*Are there books that cover C++ topics beyond writing C++? How about how-to guides? (I'll be searching for these next, but do you happen to know any particularly useful and easy to read? | |||
*In his reply, [[/www.reddit.com/user/Ujjawal-Gupta/|Ujjawal-Gupta]] mentions crash dumps and crash dump tools. I don't know much about them. What good resources on this topic are there for Linux, Windows, and Mac? | |||
=## Background:= | |||
I'm about to start going through the list above for myself. It may take a while. | |||
I'm currently involved in a project with about half a million existing lines of C++ code and want to know what tools I need to work in this environment properly. The application has multi-threaded parts. | |||
I can do basic g++, Debug, DebWithRelInfo, and Release builds using cmake or a pre-defined build script and step through code line-by-line with the gdb in VSCode, but want to become familiar with gdb at the command line. | |||
I want to come up to speed with clang and lldb in vscode. | |||
[[/stackoverflow.com/questions/63978029/setup-lldb-debugging-with-cpp-extension-in-vscode-linux|https://stackoverflow.com/questions/63978029/setup-lldb-debugging-with-cpp-extension-in-vscode-linux]] | |||
I need to familiarize myself with other tools available, learn how to enable particular tools in a build, and learn how to use the tool's output. | |||
I want to learn to use tools like UBSAN, ASAN, TSAN, and MSAN effectively and how to switch from g++ to clang when appropriate. I want to learn what tools other than the sanitizers and debuggers above are available. | |||
There's no such thing as free beer! Someone pays for flightgear cloud infrastructure that I personallly benefit from. So I contribute a little at: | There's no such thing as free beer! Someone pays for flightgear cloud infrastructure that I personallly benefit from. So I contribute a little at: | ||
Line 15: | Line 49: | ||
Goals (Maybe) | Goals (Maybe) | ||
* Download Scenery from Current Scenery Developers | *Download Scenery from Current Scenery Developers | ||
* Build Scripts for Scenery Land Class, Elevation, and OSM processing | *Build Scripts for Scenery Land Class, Elevation, and OSM processing | ||
* Understand the underlying formats in Flightgear Scenery | *Understand the underlying formats in Flightgear Scenery | ||
* Understand the processing of Scenery data between tiles in the build process and the running simulator | *Understand the processing of Scenery data between tiles in the build process and the running simulator | ||
* Assist Scenery Developers with technical support. | *Assist Scenery Developers with technical support. | ||
* full explanation of the advantages and disadvantages of the worktree approach. | *full explanation of the advantages and disadvantages of the worktree approach. | ||
[[Hackathon Proposal: Property Subscription Improvements|Hackathon-2023-Proposal-Websocket-Property-Subscription-Improvements]] | [[Hackathon Proposal: Property Subscription Improvements|Hackathon-2023-Proposal-Websocket-Property-Subscription-Improvements]] |
edits