stack-corruption

    0热度

    1回答

    我在写一个C#应用程序,它将大小为30的空字符串数组传递给C++ DLL。该字符串数组需要在DLL中填充并返回给C#应用程序。 我的代码我观察DLL函数调用结束时的内存损坏。 我的C++ DLL代码如下。请帮助我。提前致谢。 SAMPLEDLL_API BOOL InitExecution (wchar_t **paszStrings, int count) { for (int i

    3热度

    1回答

    调试堆栈值损坏的好方法是什么?在我的一个程序中,有时这个指针的地址在一个方法返回后会改变,这个方法在文件描述符上进行关闭。我调试了几个小时的程序,但我找不到问题。 什么是一个很好的方法来找出什么改变了这个指针的地址?当我在这个指针上手动添加手表时,错误不会发生。当我尽可能剥离我的代码时,错误仍然会发生。我试过Valgrind,但没有发现任何早期的堆栈损坏。 我设法检测到错误发生时,我以64位模式编

    0热度

    3回答

    我想通过注册表获取某些程序的版本。我的代码在发布配置时设置正常。当我尝试在调试模式下运行它时,我的代码在离开此函数时出现消息“运行时检查失败#2 - 变量'版本'周围的堆栈已损坏”时崩溃。 我只会粘贴我的函数的相关代码。这就是我的代码中的所有“版本”外观。当我调试它时,版本会获得适当的价值。代码不会在发布配置中崩溃。对于这两种配置,我都设置了“使用多字节字符集”。 TCHAR version[20

    17热度

    1回答

    下面的问题是从一个巨大的项目中提炼出来的,也是我能够想到的问题的最小例子。 我知道,从std::string得到的结果很糟糕,它已经在我们的代码库中发生了变化,但我试图理解这里隐藏的内容。 的代码在释放模式崩溃上的Visual C++ 2017 Microsoft Visual Studio Community 2017 Version 15.2 (26430.14) Release Visu

    0热度

    1回答

    它崩溃与调试错误,并说栈周围的变量“代码”已损坏。这是我正在做的汉明码实验的代码。输入文件在同一行上只是一堆1和0。它为什么会崩溃? void processFile(FILE* read, char* InMessage) { int i = 0, count = 0; for (i = 0; !feof(read); i++) { InMessage[i]

    4热度

    1回答

    我需要在C++中实现矩阵转置过程。 问题是签名,该函数具有被称为像这样: transpose(in_mat[0][0], n, m, out_mat[0][0]) 其中n和m是尺寸。 所有的值都是双精度,包括矩阵和维度。 由于代码是自动生成的,我无法解决这个问题。 我的解决办法是这样的: void transpose(double& in_mat, const double _n, const

    1热度

    1回答

    “回溯已停止:与此帧相同的前一帧(损坏的堆栈?我复制了核心转储文件,并尝试在x86_64主机上使用arm-gdb获取回溯。这是O/P: $ arm-arago-linux-gnueabi-gdb test_slave6_slave core GNU gdb (GDB) 7.4 Copyright (C) 2012 Free Software Foundation, Inc. License

    0热度

    1回答

    我从Boost测试框架中调用这个代码来检查堆栈损坏。 我收到此错误消息: 运行时检查失败#2 - 围绕变量'temp'的堆栈已损坏。如果我已经成功打开连接或不连接到mysql数据库都没关系。如果我注释掉mysql_close调用,我不会收到这样的消息。 我安装了MySQL服务器5.6,我链接到这些目录: C:\Program Files\MySQL\MySQL Connector.C 6.1\li

    0热度

    2回答

    我试图让我的程序打印第n个斐波纳契数。 I get a stack-corruption-assertion though: int f[] = { 1, 1 }; int i = 0; if (n <= 2) { cout << "F(" << n << ") = 1" << endl; return 0; } if (n>2) { i = 2;

    0热度

    1回答

    SegFault我与这段代码的问题是,当我试图返回第一次迭代addTrash函数内的结构节点*头。我怀疑这可能是堆栈腐败,但我不知道确切的,我不知道我究竟如何找出错误是在我给你的代码内。 这是一个双链接的链接列表,它具有作为唯一数据的价值。 struct node * modifyMainList(struct node *head, int link2Delete){ struct