楼主这个问题解决没,我现在遇到了同样的问题,而且是单线程里面,map::find 程序就崩溃了,linux环境
没看到有问题的代码,就重新编译, 有时候是编译器的问题
线程没有加锁吧?
[quote=引用 13 楼 柳鲲鹏 的回复:] [quote=引用 12 楼 赵4老师 的回复:] 崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
[quote=引用 12 楼 赵4老师 的回复:] 崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
是在find内部崩溃的嘛,如果改成string又加上锁了还有问题。那是不是用于查找的key值有问题呢。看不到源码都不好说什么情况的。
柳大都搞不定的一定是神问题。不浪费时间想了。就搬板凳看吧。
大概率是其他地方的内存操作影响了map的存储结构
64,636
社区成员
250,540
社区内容
加载中
试试用AI创作助手写篇文章吧