I'm trying to track down the cause of a bug in a plugin that I'm writing. I can't use dialog boxes to display details because it interfears with the problem that I'm looking at. I've tried gdb but although compiling it with what I believe are the right flags, when I stop in the routine I'm interested in, it's not able to find any line or variable information. Anyone got any sugestions? Here are the lines that I'm using to compile:

gcc -ggdb -c ConText.c -Wformat=0 -fPIC `pkg-config --cflags geany`

gcc ConText.o -g ConText.so -shared `pkg-config --libs geany`


Also I am trying to implement integrated plugin help, and plugin configure. Despite defining these, when I go into tools->plugin manager, and highlight my plugin, neither the help nor the configure button become active. Again does anyone have any sugestions? Here's the code for the two routines. Do I need to declare that I am implementing these anywhere?

static void plugin_help() {
   dialogs_show_msgbox(GTK_MESSAGE_INFO,"TEST!");
}

static GtkWidget *plugin_configure(GtkDialog *dialog)
{
    GtkWidget *vbox;
    GtkWidget *cb1,*cb2,*cb3,*cb4;

    vbox=gtk_vbox_new(FALSE, 6);

    cb1=gtk_check_button_new_with_label("remember fold state");
    gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(cb1),TRUE);
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb1),bRememberFolds);
    gtk_box_pack_start(GTK_BOX(vbox),cb1,FALSE,FALSE,2);

    cb2=gtk_check_button_new_with_label("Center view when goto bookmark");
    gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(cb2),TRUE);
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb2),bCenterWhenGotoBookmark);
    gtk_box_pack_start(GTK_BOX(vbox),cb2,FALSE,FALSE,2);

    cb3=gtk_check_button_new_with_label("Save Macros When Close Geany");
    gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(cb3),TRUE);
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb3),bSaveMacros);
    gtk_box_pack_start(GTK_BOX(vbox),cb3,FALSE,FALSE,2);

    cb4=gtk_check_button_new_with_label("Ask before replaceing existing Macros");
    gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(cb4),TRUE);
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb4),bQueryOverwriteMacros);
    gtk_box_pack_start(GTK_BOX(vbox),cb4,FALSE,FALSE,2);

    gtk_widget_show_all(vbox);
   
    return vbox;
}