Re: lesstif (Re: Xaw, Motif, etc. (Re: ptetex3 on suse10))

名前: kuoky
日時: 2005-11-20 22:30:36
IPアドレス: 220.208.112.*

>>39221 > DEBUG_SOURCES 環境変数を all にし て,gdb 解析を再び行ってみました. - gdb のかけ方を変えた影響か,以前の解析 より,詳しい情報がとれているのではないかと思います. - DEBUG_FILE には,残念ながらなにも記録されませんでした. - xdvi-motif.bin.exe を直接呼んでも変化ありませんでした. (gdb) where #0 0x008e9469 in cygXt-6!_XtCreateWidget () #1 0x00913b23 in cygXt-6!_XtUnmergeTranslations () #2 0x00913c57 in cygXt-6!XtVaCreateManagedWidget () #3 0x00450b7f in xm_create_menu (parent=0x102d98a8, title=0x102d9ba8 "File", mnemonic=70, item=0x102d9b40) at xm_menu.c:284 #4 0x00457662 in create_menu_buttons (parent=0x102d8b10, menu_bar=0x4eda9c) at menu.c:376 #5 0x0043fb30 in run_dvi_file (filename=0x4e10d8 "/tmp/ptetex/ptetex3-20051110/ptetex-test-4004/testpage.dvi", data=0x4e11e8) at xdvi.c:3704 #6 0x0044205d in _fu49__XtStrings () at xdvi.c:4365 #7 0x61004dd2 in exit () #8 0x6100594f in dll_crt0@0 () #9 0x00000000 in ?? () from (gdb) frame 0 #0 0x008e9469 in cygXt-6!_XtCreateWidget () (gdb) list 4043 ************************************************************ 4044 ************************************************************ 4045 main routine 4046 ************************************************************ 4047 ************************************************************ 4048 */ 4049 4050 int 4051 main(int argc, char **argv) 4052 { (gdb) frame 1 #1 0x00913b23 in cygXt-6!_XtUnmergeTranslations () (gdb) list 4053 int i; 4054 static struct filehist_info info; 4055 const char *file_name = NULL; 4056 const char *file_name2 = NULL; 4057 4058 /* Hack to have command-line options override ~/.xdvirc stuff: 4059 * Parse and merge them again from argv_bak, a copy of the command-line options, 4060 * via XrmParseCommand(). I think the only alternative would be to merge in all 4061 * resources manually instead of using XtInitialize(), similar to what's done in gv, 4062 * but that looks like too much trouble. (gdb) frame 2 #2 0x00913c57 in cygXt-6!XtVaCreateManagedWidget () (gdb) list 4063 */ 4064 #define COMMANDLINE_OVERRIDE_HACK 1 4065 4066 #if COMMANDLINE_OVERRIDE_HACK 4067 int argc_bak; 4068 char **argv_bak; 4069 #endif 4070 4071 info.file_idx = 0; 4072 info.page_arg = NULL; (gdb) frame 3 #3 0x00450b7f in xm_create_menu (parent=0x102d98a8, title=0x102d9ba8 "File", mnemonic=70, item=0x102d9b40) at xm_menu.c:284 284 cascade = XtVaCreateManagedWidget(title, xmCascadeButtonGadgetClass, parent, (gdb) list 279 size_t i; 280 XmString str; 281 282 menu = XmCreatePulldownMenu(parent, "_pulldown", NULL, 0); 283 str = XmStringCreateLocalized(title); 284 cascade = XtVaCreateManagedWidget(title, xmCascadeButtonGadgetClass, parent, 285 XmNsubMenuId, menu, 286 XmNlabelString, str, 287 XmNmnemonic, mnemonic, 288 NULL); (gdb) frame 4 #4 0x00457662 in create_menu_buttons (parent=0x102d8b10, menu_bar=0x4eda9c) at menu.c:376 376 menu = xm_create_menu(*menu_bar, (gdb) list 371 #ifdef MOTIF 372 *menu_bar = XmCreateMenuBar(parent, "menuBar", NULL, 0); 373 parse_button_translations(&m_button_info); 374 /* menu = xm_create_menu(*menu_bar, m_button_info); */ 375 for (i = 0; i < m_button_info->size; i++) { 376 menu = xm_create_menu(*menu_bar, 377 m_button_info->elems[i].title, 378 m_button_info->elems[i].mnemonic, 379 m_button_info->elems[i].submenu); 380 } (gdb) frame 5 #5 0x0043fb30 in run_dvi_file (filename=0x4e10d8 "/tmp/ptetex/ptetex3-20051110/ptetex-test-4004/testpage.dvi", data=0x4e11e8) at xdvi.c:3704 3704 create_menu_buttons(globals.widgets.main_row, &globals.widgets.menu_bar); (gdb) list 3699 the toolbar code; so do this before prescan() possibly opens lots of files. 3700 */ 3701 #ifdef MOTIF 3702 globals.widgets.main_row = XmCreateMainWindow(globals.widgets.top_level, "main", NULL, 0); 3703 3704 create_menu_buttons(globals.widgets.main_row, &globals.widgets.menu_bar); 3705 3706 /* seems to be needed for enabling `XmNhighlightOnEnter' for the toolbar buttons 3707 - is this the correct place to do it? */ 3708 XtVaSetValues(globals.widgets.top_level, XmNkeyboardFocusPolicy, (XtArgVal)XmPOINTER, NULL); (gdb) frame 6 #6 0x0044205d in _fu49__XtStrings () at xdvi.c:4365 4365 run_dvi_file(file_name2, &info); (gdb) list 4360 /* enter event loop */ 4361 do_pages(); 4362 } 4363 } 4364 else if ((file_name2 = is_good_dvi_file(file_name, False)) != NULL) { 4365 run_dvi_file(file_name2, &info); 4366 } 4367 #if 0 /* def RGB_ANTI_ALIASING */ 4368 } 4369 #endif (gdb) frame 7 #7 0x61004dd2 in exit () (gdb) list 4370 /* notreached */ 4371 return 0; 4372 } 4373 4374 (gdb) frame 8 #8 0x6100594f in dll_crt0@0 () (gdb) list Line number 4375 out of range; xdvi.c has 4374 lines. (gdb) frame 9 #9 0x00000000 in ?? () from (gdb) list Line number 4375 out of range; xdvi.c has 4374 lines. ---- - export LANG=C をしてから xdvi を呼んだときの解析は以下のとおりです. (gdb) where #0 0x7c94eb94 in ntdll!LdrAccessResource () #1 0x00000000 in ?? () from (gdb) frame 0 #0 0x7c94eb94 in ntdll!LdrAccessResource () (gdb) list 4043 ************************************************************ 4044 ************************************************************ 4045 main routine 4046 ************************************************************ 4047 ************************************************************ 4048 */ 4049 4050 int 4051 main(int argc, char **argv) 4052 { (gdb) frame 1 #1 0x00000000 in ?? () from (gdb) list 4053 int i; 4054 static struct filehist_info info; 4055 const char *file_name = NULL; 4056 const char *file_name2 = NULL; 4057 4058 /* Hack to have command-line options override ~/.xdvirc stuff: 4059 * Parse and merge them again from argv_bak, a copy of the command-line options, 4060 * via XrmParseCommand(). I think the only alternative would be to merge in all 4061 * resources manually instead of using XtInitialize(), similar to what's done in gv, 4062 * but that looks like too much trouble.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)