SF.net SVN: geany-plugins:[2222] trunk/geany-plugins/debugger/src
cesspit at users.sourceforge.net
cesspit at xxxxx
Mon Oct 3 12:02:12 UTC 2011
Revision: 2222
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2222&view=rev
Author: cesspit
Date: 2011-10-03 12:02:11 +0000 (Mon, 03 Oct 2011)
Log Message:
-----------
debugger: gdb errors handling, casting warnings
Modified Paths:
--------------
trunk/geany-plugins/debugger/src/dbm_gdb.c
trunk/geany-plugins/debugger/src/dconfig.c
trunk/geany-plugins/debugger/src/debug.c
trunk/geany-plugins/debugger/src/debug.h
trunk/geany-plugins/debugger/src/debug_module.h
trunk/geany-plugins/debugger/src/dpaned.c
Modified: trunk/geany-plugins/debugger/src/dbm_gdb.c
===================================================================
--- trunk/geany-plugins/debugger/src/dbm_gdb.c 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/dbm_gdb.c 2011-10-03 12:02:11 UTC (rev 2222)
@@ -251,6 +251,7 @@
* asyncronous gdb output reader
* looks for a stopped event, then notifies "debug" module and removes async handler
*/
+enum dbs debug_get_state();
static gboolean on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer data)
{
gchar *line;
@@ -276,7 +277,9 @@
target_pid = atoi(line + strlen("=thread-group-created,id=\""));
}
else if (g_str_has_prefix(line, "=library-loaded") || g_str_has_prefix(line, "=library-unloaded"))
+ {
file_refresh_needed = TRUE;
+ }
else if (*line == '*')
{
/* asyncronous record found */
@@ -296,19 +299,6 @@
/* removing read callback (will pulling all output left manually) */
g_source_remove(gdb_id_out);
- /* update autos */
- update_autos();
-
- /* update watches */
- update_watches();
-
- /* update files */
- if (file_refresh_needed)
- {
- update_files();
- file_refresh_needed = FALSE;
- }
-
/* looking for a reason to stop */
char *next = NULL;
char *reason = strstr(record, "reason=\"") + strlen("reason=\"");
@@ -325,8 +315,22 @@
else if (!strcmp(reason, "exited-signalled"))
stop_reason = SR_EXITED_SIGNALLED;
+
if (SR_BREAKPOINT_HIT == stop_reason || SR_END_STEPPING_RANGE == stop_reason)
{
+ /* update autos */
+ update_autos();
+
+ /* update watches */
+ update_watches();
+
+ /* update files */
+ if (file_refresh_needed)
+ {
+ update_files();
+ file_refresh_needed = FALSE;
+ }
+
dbg_cbs->set_stopped();
}
else if (stop_reason == SR_SIGNAL_RECIEVED)
@@ -339,16 +343,22 @@
dbg_cbs->set_stopped();
}
else if (stop_reason == SR_EXITED_NORMALLY || stop_reason == SR_EXITED_SIGNALLED)
+ {
stop();
+ }
}
}
else if (g_str_has_prefix (line, "^error"))
{
- dbg_cbs->set_stopped();
-
/* removing read callback (will pulling all output left manually) */
g_source_remove(gdb_id_out);
+ /* set debugger stopped if is running */
+ if (DBS_STOPPED != debug_get_state())
+ {
+ dbg_cbs->set_stopped();
+ }
+
/* get message */
char *msg = strstr(line, "msg=\"") + strlen("msg=\"");
*strrchr(msg, '\"') = '\0';
Modified: trunk/geany-plugins/debugger/src/dconfig.c
===================================================================
--- trunk/geany-plugins/debugger/src/dconfig.c 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/dconfig.c 2011-10-03 12:02:11 UTC (rev 2222)
@@ -347,7 +347,7 @@
{
case CP_TABBED_MODE:
{
- g_key_file_set_boolean(keyfile_plugin, "tabbed_mode", "enabled", (gboolean)config_value);
+ g_key_file_set_boolean(keyfile_plugin, "tabbed_mode", "enabled", *((gboolean*)config_value));
break;
}
case CP_OT_TABS:
@@ -358,7 +358,7 @@
}
case CP_OT_SELECTED:
{
- g_key_file_set_integer(keyfile_plugin, "one_panel_mode", "selected_tab_index", (int)config_value);
+ g_key_file_set_integer(keyfile_plugin, "one_panel_mode", "selected_tab_index", *((int*)config_value));
break;
}
case CP_TT_LTABS:
@@ -369,7 +369,7 @@
}
case CP_TT_LSELECTED:
{
- g_key_file_set_integer(keyfile_plugin, "two_panels_mode", "left_selected_tab_index", (int)config_value);
+ g_key_file_set_integer(keyfile_plugin, "two_panels_mode", "left_selected_tab_index", *((int*)config_value));
break;
}
case CP_TT_RTABS:
@@ -380,7 +380,7 @@
}
case CP_TT_RSELECTED:
{
- g_key_file_set_integer(keyfile_plugin, "two_panels_mode", "right_selected_tab_index", (int)config_value);
+ g_key_file_set_integer(keyfile_plugin, "two_panels_mode", "right_selected_tab_index", *((int*)config_value));
break;
}
}
Modified: trunk/geany-plugins/debugger/src/debug.c
===================================================================
--- trunk/geany-plugins/debugger/src/debug.c 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/debug.c 2011-10-03 12:02:11 UTC (rev 2222)
@@ -622,7 +622,7 @@
/* clear calltips cache */
g_hash_table_remove_all(calltips);
- /* if the stop was requested for asyncronous exitig -
+ /* if a stop was requested for asyncronous exiting -
* stop debug module and exit */
if (exit_pending)
{
@@ -631,8 +631,8 @@
return;
}
- /* if the stop was requested for asyncronous exitig -
- * stop debug module and exit */
+ /* if a restart was requested for asyncronous exiting -
+ * restart debug module and exit */
if (restart_pending)
{
active_module->restart();
@@ -847,7 +847,6 @@
static void on_debugger_error (const gchar* message)
{
dialogs_show_msgbox(GTK_MESSAGE_ERROR, "%s", message);
- debug_stop();
}
/* callbacks structure to pass to debugger module */
Modified: trunk/geany-plugins/debugger/src/debug.h
===================================================================
--- trunk/geany-plugins/debugger/src/debug.h 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/debug.h 2011-10-03 12:02:11 UTC (rev 2222)
@@ -22,15 +22,6 @@
#include "debug_module.h"
#include "markers.h"
-/* debug states enumeration */
-enum dbs {
- DBS_IDLE,
- DBS_STOPPED,
- DBS_STOP_REQUESTED,
- DBS_RUNNING,
- DBS_RUN_REQUESTED,
-};
-
/* function type to execute on interrupt */
typedef void (*bs_callback)(gpointer);
Modified: trunk/geany-plugins/debugger/src/debug_module.h
===================================================================
--- trunk/geany-plugins/debugger/src/debug_module.h 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/debug_module.h 2011-10-03 12:02:11 UTC (rev 2222)
@@ -19,6 +19,15 @@
* MA 02110-1301, USA.
*/
+/* debug states enumeration */
+enum dbs {
+ DBS_IDLE,
+ DBS_STOPPED,
+ DBS_STOP_REQUESTED,
+ DBS_RUNNING,
+ DBS_RUN_REQUESTED,
+};
+
/* type to hold callbacks to call from debugger modules */
typedef struct _dbg_callbacks {
void (*set_run) ();
Modified: trunk/geany-plugins/debugger/src/dpaned.c
===================================================================
--- trunk/geany-plugins/debugger/src/dpaned.c 2011-10-03 08:50:46 UTC (rev 2221)
+++ trunk/geany-plugins/debugger/src/dpaned.c 2011-10-03 12:02:11 UTC (rev 2222)
@@ -202,7 +202,7 @@
config_set_panel(
config_part_tabs, array,
- config_part_selected_index, page_num,
+ config_part_selected_index, &page_num,
0
);
@@ -261,7 +261,7 @@
else
config_part = CP_TT_RSELECTED;
- config_set_panel(config_part, (gpointer)arg2, 0);
+ config_set_panel(config_part, (gpointer)&arg2, 0);
return TRUE;
}
@@ -429,5 +429,5 @@
CONNECT_PAGE_SIGNALS();
- config_set_panel(CP_TABBED_MODE, (gpointer)tabbed, 0);
+ config_set_panel(CP_TABBED_MODE, (gpointer)&tabbed, 0);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list