some valgrind bullshit
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ cmake-build-release
|
|||||||
/platform
|
/platform
|
||||||
/result
|
/result
|
||||||
/.gdb_history
|
/.gdb_history
|
||||||
|
/valgrind.log
|
||||||
|
|||||||
@ -20,12 +20,12 @@ if(USE_TRACY)
|
|||||||
option(TRACY_ENABLE "" ON)
|
option(TRACY_ENABLE "" ON)
|
||||||
option(TRACY_ON_DEMAND "" ON)
|
option(TRACY_ON_DEMAND "" ON)
|
||||||
|
|
||||||
# Enable tracy macros in the application
|
# Enable tracy macros in the application. Uses a LOT of memory.
|
||||||
add_compile_definitions(TRACY)
|
add_compile_definitions(TRACY)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wno-unused-parameter -Wunreachable-code")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wno-unused-parameter -Wunreachable-code")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -ggdb -fsanitize=undefined") # -fsanitize=address already fails on InitWindow()
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O3 -ggdb -fsanitize=undefined") # -fsanitize=address already fails on InitWindow()
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march=native")
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march=native")
|
||||||
|
|
||||||
message("-- CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
|
message("-- CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
./cmake-build-debug/compile_commands.json
|
./cmake-build-release/compile_commands.json
|
||||||
@ -287,6 +287,7 @@ rec {
|
|||||||
abbr -a release "${buildRelease} && ./cmake-build-release/masssprings"
|
abbr -a release "${buildRelease} && ./cmake-build-release/masssprings"
|
||||||
abbr -a rungdb "${buildDebug} && gdb --tui ./cmake-build-debug/masssprings"
|
abbr -a rungdb "${buildDebug} && gdb --tui ./cmake-build-debug/masssprings"
|
||||||
abbr -a runtracy "tracy -a 127.0.0.1 &; ${buildRelease} && sudo -E ./cmake-build-release/masssprings"
|
abbr -a runtracy "tracy -a 127.0.0.1 &; ${buildRelease} && sudo -E ./cmake-build-release/masssprings"
|
||||||
|
abbr -a runvalgrind "${buildDebug} && valgrind --leak-check=full --show-reachable=no --show-leak-kinds=definite,indirect,possible --track-origins=no --suppressions=valgrind.supp --log-file=valgrind.log ./cmake-build-debug/masssprings && cat valgrind.log"
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
builtins.concatStringsSep "\n" [
|
builtins.concatStringsSep "\n" [
|
||||||
|
|||||||
@ -13,9 +13,9 @@
|
|||||||
#include <tracy/Tracy.hpp>
|
#include <tracy/Tracy.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO: Graph interaction
|
// TODO: Click states to display them in the board
|
||||||
// - Click states to display them in the board
|
|
||||||
// TODO: Add a move history and backspace to go back
|
// NOTE: Tracy uses a huge amount of memory. For longer testing disable Tracy.
|
||||||
|
|
||||||
auto main(int argc, char *argv[]) -> int {
|
auto main(int argc, char *argv[]) -> int {
|
||||||
std::string preset_file;
|
std::string preset_file;
|
||||||
|
|||||||
@ -86,7 +86,9 @@ auto StateManager::NextPath() -> void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto StateManager::FillGraph() -> void {
|
auto StateManager::FillGraph() -> void {
|
||||||
|
#ifdef TRACY
|
||||||
ZoneScoped;
|
ZoneScoped;
|
||||||
|
#endif
|
||||||
|
|
||||||
ClearGraph();
|
ClearGraph();
|
||||||
|
|
||||||
@ -178,7 +180,9 @@ auto StateManager::FindWinningStates() -> void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto StateManager::FindTargetDistances() -> void {
|
auto StateManager::FindTargetDistances() -> void {
|
||||||
|
#ifdef TRACY
|
||||||
ZoneScoped;
|
ZoneScoped;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (springs.size() == 0 || winning_states.size() == 0) {
|
if (springs.size() == 0 || winning_states.size() == 0) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
66
valgrind.supp
Normal file
66
valgrind.supp
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
glib_malloc
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libglib-2.0.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
gtk_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libgtk-3.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mesa_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libGLX*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
glfw_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libglfw.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
wayland_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libwayland*.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
dbus_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libdbus*.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
egl_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libEGL*.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
x11_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libX11*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
fontconfig_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libfontconfig.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
pango_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libpango*.so*
|
||||||
|
}
|
||||||
|
{
|
||||||
|
nvidia_leaks
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libnvidia*.so*
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user