char *word = malloc(sizeof(char) * (pos + 1));
正在产生SIGTRAP错误。 pos
是int
。
我怎么知道这就行了?具有断点的消除过程。
我搜索并没有找到有关此函数的任何信息,从而产生此错误。我该怎么办?
答案 0 :(得分:2)
Windows上有许多内存调试程序(虽然我自己没有尝试过):
我建议您尝试使用MS的Application Verifier:
它应该能够捕获堆损坏。
但在开始依赖这么大而复杂的软件之前,您可以printf
在所有地方malloc()
和free()
的参数值{{1}}。你会在输出中找到奇怪的东西。