问题标签 [corruption]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unicode - 如何诊断和逆转(而不是阻止)Unicode 修改
在我上游的某个地方,发生了“某事”,看起来像 unicode mangling。一种症状是小写的 u 变音符号 (ü) 被转换为“ü”(即字符 FC 被转换为 C3 BC)。假设我无法控制这个上游流程,我该如何对正在发生的事情进行逆向工程?如果可能的话,我可以向后转动香肠机并取回原始文本吗?
(如果有助于理解这种情况,我收到的文本是 MySQL 转储的形式。我认为在转储/传输过程中的某个地方它被破坏了。)
memory - 在 iPad 上跟踪 EXC_BAD_ACCESS
我一直在使用这段代码来创建我的 UIWindow
UIMyWindow 没有什么特别之处,它只是有一个指向 C++ 类的指针,该类对 ObjectiveC 进行了一些包装。
最近我的应用程序在添加了一些不需要对错误做任何事情的代码行后开始崩溃。我添加的代码行只是分配了一个 C++ 对象,但程序执行从未到达这一行。
有趣的是,我的代码在 Release 中工作。
我唯一的猜测是我在一个完全不同的地方造成了一些内存损坏。我的问题是:可能是什么类型的内存损坏?是否有一些好的做法来追踪它们?
database - 如何自动压缩和修复 Access 2007 数据库?
我有一个使用经典 ASP 和 Access 2007 格式 (.accdb) 的数据库的站点。它使用密码加密,文件大小约为 300 MiB。
该站点本身运行良好,但有时数据库会损坏(错误是“无法识别的数据库格式”)。它可以通过在 MS Access 中打开数据库轻松修复,然后将其修复。问题是我可能需要几天时间才能注意到数据库已损坏,并且在此期间该站点将毫无用处。有时每次腐败之间需要几个月的时间,有时只需一两个星期。
我想要的是网站能够不时(每天一次左右)调用“压缩和修复数据库”功能本身,以保持数据库处于工作状态。
我的问题是我该怎么做,让它自己修复?
我找到了这篇文章:如何通过 .NET 代码压缩和修复 ACCESS 2007 数据库? ...但我不明白我如何才能让它为我工作。我只知道经典的 ASP 和 Java。
任何人都可以编写一些独立的 ASP 代码来执行此操作:“打开到受密码保护的数据库的连接”、“修复数据库”、“关闭连接”。
该站点和数据库位于我可以完全控制的专用服务器上,因此我可以实施任何现有的解决方案。
非常感谢!
c++ - g++ 双重免费或腐败...但是如何?
我的代码似乎有问题,想知道你们是否可以帮助我找到问题...我尝试使用 gdb 和 valgrind,后者“更”有用,但我仍然无法修复我的错误。
下面是我的课程代码(这是我的缩小版,但问题的主要本质仍然存在):
/* 矢量.h */
/* 物理状态.h */
/* 物理状态.cpp */
/* 测试.cpp */
对不起,长度。这是 valgrind 的输出:
提前感谢任何可以帮助我的人,这让我发疯了!GD。
PS:我=(*这个);无= 0;
c - realloc 和 free 导致“双重释放或损坏”
忍受我。我已经 8 年没有用 c 编码了,我完全困惑为什么我的字符串操作不起作用。我正在编写一个永远循环的程序。在循环中,我初始化了两个 char 指针,每个指针都传递给一个将文本添加到 char 指针(数组)的函数。函数完成后,我打印 char 指针并释放两个 char 指针。但是程序在 7 次迭代后终止,并出现以下错误消息
* 检测到 glibc * ./test: 双重释放或损坏 (fasttop): 0x0804a168 ***
sdk - Silverlight 4 SDK 下载是否损坏?
我从以下 Microsoft 站点下载了 Silverlight 4 SDK(不是 Beta)。
但是,当我尝试运行该文件时,它显示“文件已损坏”。
有没有其他人也遇到过这个问题?
有没有其他网站可以下载 SDK?
请告诉我...
TIA,
苏迪普
sql-server-2005 - 对外部表的 ODBC 访问是否可能导致数据或锁定损坏?
我需要将数据从 SQL Server2005 表中取出,然后放到另一个系统中。
我的供应商说:
“我们不建议您直接进入 SQL 并收集数据,因为这可能会导致数据损坏,或者您可以在导出时锁定表。”
真的吗?
c - 由于 dll 调用导致的奇怪堆栈损坏
我正在尝试使用 lcc 编译器从 C 调用 DLL 函数(通过 GetProcAddress 等)。该函数被调用并且一切顺利,但看起来堆栈的顶部已损坏。我尝试使用调用约定(__stdcall / __cdecl),但这没有帮助。
不幸的是,我无法访问 dll 代码,必须使用 lcc 编译器。
我发现这个简单的技巧可以避免堆栈损坏:
这里的 dll_foo 是 GetProcAddress 返回的指针,并且堆栈受到虚拟变量的保护。因此,损坏的不是堆栈指针,而是堆栈顶部的数据。它是这样工作的,但我想知道腐败的原因。
有任何想法吗?
UPD:正如评论中所问的,这里是实际的函数类型:
他们都表现出类似的行为。
不幸的是,附加调试器并不是那么简单,因为代码是由 Matlab 编译和启动的,使用 LCC 编译器,并且没有调试支持。可能我将不得不在独立配置中重现此问题,但要做到这一点并不容易。
c# - dll的C#强命名,不检测修改
据我了解,强命名会创建一个程序集的加密哈希,该程序集用作加载 dll 的强名称。
我希望使用此功能来检测二进制文件的损坏,以通知用户该软件存在问题,他们需要重新安装它。
这适用于对二进制文件的一些更改,但是我发现修改二进制文件,尤其是二进制文件中的静态字符串,不会导致应用程序报告它无法找到适当强名称的 dll。
谁能向我解释一下程序集中的哪些数据用于创建强名称,以及为什么强命名并不总能检测到 dll 的修改?有没有办法强制它在强命名中包含附加信息?
有没有另一种方法可以检测二进制文件的损坏?
干杯
瑞安
stack - 静态损坏和堆栈损坏的区别
任何人都可以解释有关堆栈损坏和静态损坏之间区别的见解吗?