【发布时间】:2017-04-28 17:41:06
【问题描述】:
解决__strcpy_sse2_unaligned() 问题的正确方法应该是什么?
IE。 strcpy(enc_buf, base64_encode(buf)); 在 gdb 中导致 __strcpy_sse2_unaligned()
那么有哪些预防措施来防止此类事情发生呢?
【问题讨论】:
-
防止什么,究竟是什么?
-
@black 我的意思是说我们应该怎么做才能解决 gdb 输出中给出的错位问题
-
为什么在 gdb 的
__strcpy_sse2_unaligned中发现自己是一个问题?您究竟想防止什么? -
我应该解释一下
strcpy是必需的 不会因为对齐问题而崩溃,因为chars 不需要对齐。崩溃恰好发生在名称中带有unaligned的函数内部,但这并不意味着任何有趣的事情。该错误可能是enc_buf是无效指针或base64_encode返回无效指针。同样,valgrind会告诉你到底发生了什么。 -
如果崩溃,buf 可能没有 NUL 结尾字符。也可能是 base64_encode() 返回没有 NUL 结束字符。