json-c 中 调用 json_object_put()后的诡异现象
以下是我的gdb跟踪:
---------------------------------------------------
369json_object_put(pobj2);
(gdb) display g_config->host_info
1: g_config->host_info = {ip = "10.1.14.221\000\000\000\000", port = 80,
posturl = 0x8056930 "/falconconsole/server.php",
hearturl = 0x8056960 "/falconconsole/server.php",
config_dir = 0x80569d0 "/falconconsole/configfile/"}
(gdb) n
372pobj2 = json_object_object_get(pobj, "heartperiod");
1: g_config->host_info = {ip = "10.1.14.221\000\000\000\000", port = 80,
posturl = 0x8056930 "/falconconsoke/server.php",
hearturl = 0x8056960 "/falconconsoke/server.php",
config_dir = 0x80569d0 "/falconconsole/configfile/"}
------------------------------------------------------
在执行完 json_object_put(pobj2) 后, posturl 和 hearturl 中的 falconconsole 都变成了 falconsoke .
求指教.
[解决办法]
这就是为什么不要乱用全局变量。