From 1bc6f820910e54c90b0419355a14f63225283efe Mon Sep 17 00:00:00 2001 From: Rokas Kupstys Date: Thu, 11 Mar 2021 14:17:00 +0200 Subject: [PATCH] Misc: added imgui.gdb and imgui.natstepfilter debugger helpers for gdb and msvc. --- docs/CHANGELOG.txt | 2 ++ imgui.h | 2 +- misc/debuggers/README.txt | 13 +++++++++++-- misc/debuggers/imgui.gdb | 12 ++++++++++++ misc/debuggers/imgui.natstepfilter | 30 ++++++++++++++++++++++++++++++ misc/debuggers/imgui.natvis | 16 +++++++--------- 6 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 misc/debuggers/imgui.gdb create mode 100644 misc/debuggers/imgui.natstepfilter diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index b038943c7..dbc817001 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -102,6 +102,8 @@ Other Changes: in e.g. hi-dpi settings will generally look better. (#3491) [@thedmd] - ImDrawList: AddCircle, AddCircleFilled(): Tweaked default segment count calculation to honor MaxError with more accuracy. Made default segment count always even for better looking result. (#3808) [@thedmd] +- Misc: Added 'debuggers/imgui.gdb' and 'debuggers/imgui.natstepfilter' (along with existing 'imgui.natvis') + scriptss to configure popular debuggers into skipping trivial functions when using StepInto. [@rokups] - Backends: Android: Added native Android backend. (#3446) [@duddel] - Backends: Win32: Added ImGui_ImplWin32_EnableAlphaCompositing() to facilitate experimenting with alpha compositing and transparent windows. (#2766, #3447 etc.). diff --git a/imgui.h b/imgui.h index c5d8e9ed7..67dc7611d 100644 --- a/imgui.h +++ b/imgui.h @@ -61,7 +61,7 @@ Index of this file: // Version // (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens) #define IMGUI_VERSION "1.82 WIP" -#define IMGUI_VERSION_NUM 18101 +#define IMGUI_VERSION_NUM 18102 #define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx)) #define IMGUI_HAS_TABLE diff --git a/misc/debuggers/README.txt b/misc/debuggers/README.txt index 87435db2e..3f4ba83e3 100644 --- a/misc/debuggers/README.txt +++ b/misc/debuggers/README.txt @@ -1,7 +1,16 @@ HELPER FILES FOR POPULAR DEBUGGERS +imgui.gdb + GDB: disable stepping into trivial functions. + (read comments inside file for details) + +imgui.natstepfilter + Visual Studio Debugger: disable stepping into trivial functions. + (read comments inside file for details) + imgui.natvis - Natvis file to describe dear imgui types in the Visual Studio debugger. + Visual Studio Debugger: describe Dear ImGui types for better display. With this, types like ImVector<> will be displayed nicely in the debugger. - You can include this easily in your Visual Studio project files. + (read comments inside file for details) + diff --git a/misc/debuggers/imgui.gdb b/misc/debuggers/imgui.gdb new file mode 100644 index 000000000..000ff6eb9 --- /dev/null +++ b/misc/debuggers/imgui.gdb @@ -0,0 +1,12 @@ +# GDB configuration to aid debugging experience + +# To enable these customizations edit $HOME/.gdbinit (or ./.gdbinit if local gdbinit is enabled) and add: +# add-auto-load-safe-path /path/to/imgui.gdb +# source /path/to/imgui.gdb +# +# More Information at: +# * https://sourceware.org/gdb/current/onlinedocs/gdb/gdbinit-man.html +# * https://sourceware.org/gdb/current/onlinedocs/gdb/Init-File-in-the-Current-Directory.html#Init-File-in-the-Current-Directory + +# Disable stepping into trivial functions +skip -rfunction Im(Vec2|Vec4|Strv|Vector|Span)::.+ diff --git a/misc/debuggers/imgui.natstepfilter b/misc/debuggers/imgui.natstepfilter new file mode 100644 index 000000000..efd1957b2 --- /dev/null +++ b/misc/debuggers/imgui.natstepfilter @@ -0,0 +1,30 @@ + + + + + + + + (ImVec2|ImVec4|ImStrv)::.+ + NoStepInto + + + (ImVector|ImSpan).*::operator.+ + NoStepInto + + + diff --git a/misc/debuggers/imgui.natvis b/misc/debuggers/imgui.natvis index 1b95a04f4..13b636008 100644 --- a/misc/debuggers/imgui.natvis +++ b/misc/debuggers/imgui.natvis @@ -1,16 +1,14 @@ -