Ejemplo n.º 1
0
/*
 * functions to perform markers and tree vew operation when breakpoint
 * is finally updated/added/removed
 */
static void on_add(breakpoint *bp)
{
	/* add to breakpoints tab */
	bptree_add_breakpoint(bp);
	/* add marker */
	markers_add_breakpoint(bp);
}
Ejemplo n.º 2
0
static void on_set_condition(breakpoint* bp)
{
	/* set condition in breaks tree */
	bptree_set_condition(bp);
	markers_remove_breakpoint(bp);
	markers_add_breakpoint(bp);
}
Ejemplo n.º 3
0
static void on_switch(breakpoint *bp)
{
	/* remove old and set new marker */
	markers_remove_breakpoint(bp);
	markers_add_breakpoint(bp);
	
	/* set checkbox in breaks tree */
	bptree_set_enabled(bp);
}
Ejemplo n.º 4
0
/*
 * 	Set breakpoint and stack markers for a file
 */
static void set_markers_for_file(const gchar* file)
{
	GList *breaks;
	if ( (breaks = breaks_get_for_document(file)) )
	{
		GList *iter = breaks;
		while (iter)
		{
			breakpoint *bp = (breakpoint*)iter->data;
			markers_add_breakpoint(bp);
			
			iter = iter->next;
		}
		g_list_free(breaks);
	}

	/* set frames markers if exists */
	if (DBS_STOPPED == debug_get_state())
	{
		int active_frame_index = debug_get_active_frame();
		
		GList *iter = debug_get_stack();
		int frame_index = 0;
		for (; iter; iter = iter->next, frame_index++)
		{
			if (iter)
			{
				frame *f = (frame*)iter->data;
				if (f->have_source && !strcmp(f->file, file))
				{
					if (active_frame_index == frame_index)
					{
						markers_add_current_instruction(f->file, f->line);
					}
					else
					{
						markers_add_frame(f->file, f->line);
					}
				}
			}
		}
	}
}
Ejemplo n.º 5
0
static void on_set_enabled_list(GList *breaks, gboolean enabled)
{
	GList *iter = breaks;
	while (iter)
	{
		breakpoint *bp = (breakpoint*)iter->data;
		
		if (bp->enabled ^ enabled)
		{
			bp->enabled = enabled;
			
			/* remove old and set new marker */
			markers_remove_breakpoint(bp);
			markers_add_breakpoint(bp);
			
			/* set checkbox in breaks tree */
			bptree_set_enabled(bp);
		}
		iter = iter->next;
	}
}
Ejemplo n.º 6
0
static void on_set_hits_count(breakpoint *bp)
{
	bptree_set_hitscount(bp);
	markers_remove_breakpoint(bp);
	markers_add_breakpoint(bp);
}