Branch: refs/heads/master
Author: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Committer: Dimitar Zhekov <dimitar.zhekov(a)gmail.com>
Date: Sun, 29 Nov 2015 15:40:13 UTC
Commit: 310a292da15fd0ab41a0d297b98fbeebcfe85cb1
https://github.com/geany/geany-plugins/commit/310a292da15fd0ab41a0d297b98fb…
Log Message:
-----------
scope: add a TODO list
Modified Paths:
--------------
build/scope.m4
scope/NOTES
scope/TODO
Modified: build/scope.m4
5 lines changed, 0 insertions(+), 5 deletions(-)
===================================================================
@@ -1,11 +1,6 @@
AC_DEFUN([GP_CHECK_SCOPE],
[
GP_ARG_DISABLE([Scope], [auto])
- GP_CHECK_PLUGIN_GTK2_ONLY([Scope])
-
- GP_CHECK_PLUGIN_DEPS([scope], [VTE],
- [vte >= 0.17])
- AC_CHECK_HEADERS([util.h pty.h libutil.h])
GP_COMMIT_PLUGIN_STATUS([Scope])
Modified: scope/NOTES
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -16,7 +16,7 @@ INTO, so deriving GtkTreeStore and altering GtkTreeDragDest makes no sense
In this case the varobj is known as a dynamic varobj" - not supported
shift-clicking send/busy to send a command without closing the dialog can be
-implemented, but is very ugly; shortcut for "GDB command" plus typing in the
+implemented, but will be ugly; shortcut for "GDB command" plus typing in the
debug console should suffice
gtk tooltips send lots of queries, and can't be explicitly shown/hidden;
Modified: scope/TODO
113 lines changed, 113 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,113 @@
+In no particular order:
+
+Fix "utils.c:98:30: warning: logical not is only applied to the left hand
+side of comparison" - insifnificant, swapping should be enough.
+
+Request a (min?) height of 80 for the GtkTextView-s, for gtk+3 only.
+gtk+2 works fine.
+
+Don't allow Run/Continue without a program or script specified, it's almost
+always a mistake, but allow an empty script, even the system null file.
+Simplify the startup sequence. Simplify the Program Setup dialog, block OK
+if neither program nor script is specified. Update the documentation.
+
+Replace the "Temporary breakpoint on load" with "Break on startup", using
+gdb 7.7+ -exec-run --start. Simplify the startup sequence. Place a label
+near the checkbox that gdb 7.7 is required. Update the documentation.
+Convert the temporary location if any to a regular breakpoint?..
+
+Windows: add "Break on ExitProcess" and "Break on TerminateProcess" to
+Debug -> More?.. Useful for stopping at console program exit, since the
+console now closes automatically.
+
+Write more friendly documentation. The current one now seems a bit haughty.
+
+Add a setting for the gdb version, along with a "Detect" button? We only
+need it for -exec-run --start, the double-escape bug under in the Windows
+breakpoint list (fixed between 7.6.1 and 7.9.1) and the var-update bug,
+which was fixed at some point. Doesn't seem worth.
+
+Add a (renew the?) PR for the project-before-save signal.
+
+Correct locale from/to utf8 for variables under Windows: utils_get_...()
+from Geany should be g_locale_from/to_utf8(). Maybe provide a default Auto
+setting which detects utf8-or-locale?
+
+Add a [ ] Pending checkbox in the breakpoints menu? Currently a breakpoint
+that succeeds can't be marked as pending for the next child runs.
+
+Create a PR for ui_setup_open_button_callback. It was discussed long time
+ago, but ended without a resolution.
+
+"No breakpoints. Hanging." - with a program or script always present, this
+should be a per-program option. Also improve the text.
+
+Per-program gdb executable. 3-rd tab "GDB" in the Program Setup dialog. Move
+the gdb prefs there, including the bugs. Verify that the registers are
+re-queried on gdb change. A few more gdb options, maybe CL options too, for
+example --quiet, but only ones that can't be set via script.
+
+set_error -> set_error_literal where the text is static.
+
+Setup Program _Import -> I_mport, the underline is too short now. Add _Help,
+call the browser at #set_program.
+
+Add a note in the documentation that the memory offset, count can't be saved
+because of variable address/size changes on recompilation. Add a ^(Scope)
+command for inspecting memory.
+
+Change the "=li_brary" in the che label to "=li_brary-...", add a TL note
+that the "=library-..." text must not be translated, but the underline may
+be moved anywhere.
+
+Add a note that "[ ] Show Tooltips" requires restart (does it?..)
+
+GDB has an option to add the command execution times to MI, alter the parser
+to ignore them.
+
+Convert the thread exit codes to decimal. Options for decimal/hex/as-is?
+
+Write a Preferences dialog for the global preferences?
+
+wchar_t / L"text" support?
+
+Save sort column #-s?
+
+Check what's new in 7.7 and later. Add --language=C to all commands that
+produce variable texts? "--skip-unavailable"? Better support for
+catchpoints?
+
+Use the new plugin startup that allows failure, and check for the glade
+file?
+
+Per-program options to hide views: Program Terminal, Threads, Memory,
+Debug Console, Registers.
+
+Add a ^(Scope) command for (de)activating breakpoint groups and a
+on_break_signal() handler: a-h activate, A-H deactivate. Add a single letter
+(none, a-h) Group submenu to the breakpoints menu.
+
+Set breakpoint by clicking on the empty space before of a line, where the
+markers are shown.
+
+Message "<thread X | Program> received signal Y"?
+
+Try DND-selected-text support for Watches, Inspect?
+
+Try Watch formats or radix.
+
+Mark "Delete all breakpoints, watches ..." with bold if the program or
+script name was changed.
+
+Add a second Memory page? (Supporting 2+ regions in a single page seems
+confusing and uncomfortable UI.)
+
+Max display length for MI? Should try some very long lines, to see whether
+that makes sense. Failed MI must be fully displayed in all cases.
+
+Disassembler read-only editor window using the gdb commands only. Auto open
+on assembler location hit. That'll take some work.
+
+Remember 3 lines around the breakpoints and try to apply them as in patch,
+in the case that source was modified without the breakpoints loaded. That'll
+take work, too.
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Sun, 08 Mar 2015 19:43:50 UTC
Commit: b8ba6f938c541a20b064edcef18b228421df73e9
https://github.com/geany/geany-plugins/commit/b8ba6f938c541a20b064edcef18b2…
Log Message:
-----------
debugger/gdb_mi: Fix prompt detection
Fix the code for prompt to be locale-agnostic and actually work.
This doesn't change anything however, because the default action for
unknown record type is reporting a prompt, and a real prompt would
trigger it.
Modified Paths:
--------------
debugger/src/gdb_mi.c
Modified: debugger/src/gdb_mi.c
16 lines changed, 13 insertions(+), 3 deletions(-)
===================================================================
@@ -250,6 +250,16 @@ static struct gdb_mi_value *parse_value(const gchar **p)
return val;
}
+static gboolean is_prompt(const gchar *p)
+{
+ if (strncmp("(gdb)", p, 5) == 0)
+ {
+ p += 5;
+ while (g_ascii_isspace(*p)) p++;
+ }
+ return *p == 0;
+}
+
/* parses: async-record | stream-record | result-record
* note: post-value data is ignored.
*
@@ -278,10 +288,10 @@ static struct gdb_mi_value *parse_value(const gchar **p)
struct gdb_mi_record *gdb_mi_record_parse(const gchar *line)
{
struct gdb_mi_record *record = g_malloc0(sizeof *record);
- char nl;
- /* FIXME */
- if (sscanf(line, "(gdb) %c", &nl) == 1 && (nl == '\r' || nl == '\n'))
+ /* FIXME: prompt detection should not really be useful, especially not as a
+ * special case, as the prompt should always follow an (optional) record */
+ if (is_prompt(line))
record->type = GDB_MI_TYPE_PROMPT;
else
{
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Mon, 27 Oct 2014 21:19:26 UTC
Commit: c823ecce37e85f08a446e19f52bfe90dd61de093
https://github.com/geany/geany-plugins/commit/c823ecce37e85f08a446e19f52bfe…
Log Message:
-----------
debugger: Restore behavior when GDB stops with reason=location-reached
Actually this reason isn't handled, and if it worked earlier is just
that it would use the previous stop reason in this case.
The updated code broke that as it always set the reason even when not
handled, so restore the old version.
Modified Paths:
--------------
debugger/src/dbm_gdb.c
Modified: debugger/src/dbm_gdb.c
7 lines changed, 6 insertions(+), 1 deletions(-)
===================================================================
@@ -483,7 +483,6 @@ static gboolean on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer d
}
/* looking for a reason to stop */
- stop_reason = SR_EXITED_NORMALLY; /* somehow, sometimes there can be no stop reason */
if ((reason = gdb_mi_result_var(record->first, "reason", GDB_MI_VAL_STRING)) != NULL)
{
if (!strcmp(reason, "breakpoint-hit"))
@@ -498,6 +497,12 @@ static gboolean on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer d
stop_reason = SR_EXITED_SIGNALLED;
else if (!strcmp(reason, "exited"))
stop_reason = SR_EXITED_WITH_CODE;
+ /* FIXME: handle "location-reached" */
+ }
+ else
+ {
+ /* somehow, sometimes there can be no stop reason */
+ stop_reason = SR_EXITED_NORMALLY;
}
if (SR_BREAKPOINT_HIT == stop_reason || SR_END_STEPPING_RANGE == stop_reason || SR_SIGNAL_RECIEVED == stop_reason)
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).