上下文化,在编译我的代码后,我收到一个 SEGV 信号,这与未经授权的内存访问有关。鉴于来源和代码在最近的更改之前工作。为什么我会收到这个信号?
注意:Motif 的类型返回解释
返回指向 TextField 小部件的字符串值的字符指针。此返回值是 XmNvalue 资源值的副本。如果 TextField 小部件字符串的长度为 0(零),则返回一个空字符串。
宣言:
char *str, *str1, *str2;
之前的初始化:
str2 = XmTextFieldGetString( WIDGET_WITH_STRING );
当前初始化:
str2[0] = "Group Definition";
例外:
(dbx) cont
dbx: warning: Resuming only t@1 to satisfy events that require
automatic single-stepping
trace: 814 if (!add_button_sensitive)
trace: 817 str = XmTextFieldGetString( region_code_text );
trace: 818 str1 = XmTextFieldGetString( region_name_text );
trace: 823 str2[0] = "Group Definition";
t@1 (l@1) signal SEGV (access to address exceeded protections) in
region_add_mod_cb at line 823 in file "region_groups.c"
823 str2[0] = "Group Definition";