fbdbg  3.0
FreeBASIC Debugger
fbdbg2_handlefiles.bas
Go to the documentation of this file.
1 
15 
16 
17 Sub filechoose()
18  prun=TRUE
19 If kill_process(*__("Trying to load a file")) Then
20 
21  Var dia = DBG_FILE_OPEN(*__("Select an exe or bas file name"))
22  'gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dia), dbg_all_filter())
23  gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dia), dbg_exe_filter())
24  gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dia), dbg_bas_filter())
25 
26  Var ret = gtk_dialog_run(GTK_DIALOG(dia))
27 
28  IF ret=GTK_RESPONSE_ACCEPT Then
29  Var fnam = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dia))
30  gtk_widget_destroy(dia)
31  IF 0 = fnam THEN /' ToDo: no valid file name '/ EXIT SUB
32  exename=*fnam
33  g_free (fnam)
34  Else
35  gtk_widget_destroy(dia)
36  Exit Sub
37  END IF
38  ? EXENAME
39  If lcase(Mid(exename, INSTRREV(exename,".")))<>".exe" Then
40  '''''VAR dia = gtk_message_dialog_new_with_markup(GTK_WINDOW(GUI.window1) _
41  ''''', GTK_DIALOG_MODAL OR GTK_DIALOG_DESTROY_WITH_PARENT _
42  ''''', GTK_MESSAGE_WARNING _
43  ''''', GTK_BUTTONS_OK _
44  ''''', ( _
45  '''''*__("Sorry, for now, only exe files are handled") _
46  ''''')_
47  ''''', NULL)
48  '''''
49  '''''gtk_dialog_run(GTK_DIALOG(dia))
50  '''''gtk_widget_destroy(dia)
51  Var msg1=*__("Sorry, for now, only exe files are handled")
52  simple_message(msg1)
53  Exit Sub
54  EndIf
55  DIM AS gsize flen
56  DIM AS GError PTR errr
57  VAR msg = g_filename_to_utf8(exename, -1, NULL, @flen, @errr)
58  Print "txt";txt ':Sleep 5000
59  if msg then
60  TXT->add2notes("TEST, debuggee is " & *msg)
61  g_free(msg)
62  end if
63 
64  'TXT->add2notes(StrPtr(msg))
65  re_ini
66  Print "Exename";exename
67  extract_begin(exename)
68  Print "after extract"; exename
69  If sourcenb=-1 Then Exit sub
70  Print "before source_load"
71  source_load(0)
72  Print "after source_load"
73  proc_load
74  Print "before treat file="; exename
75 ' treat_file(exename)
76  Print "after treat file"
77 EndIf
78 End Sub
79 
80 Sub source_load(srcfirst As Long)
81  Print "Source list"
82 
83  Var fnr = FreeFile
84  For i As Long =srcfirst To sourcenb
85  Print i,source(i).shortname
86 
87  If 0 = OPEN(source(i).fullname For INPUT AS fnr) THEN
88  VAR l = LOF(fnr)
89  IF l <= G_MAXINT THEN
90  Var t = STRING(l, 0)
91  Get #fnr, , t
92  Close #fnr
93  Print SRC->addBas(source(i).shortname,t)
94  'Print SRC->addBas(MID(*fnam, INSTRREV(*fnam, ANY "/\") + 1), t)
95  End IF
96  End If
97  Next
98 
99 End Sub
100