问题标签 [corrupt]

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.

0 投票
2 回答
6214 浏览

zip - 恢复损坏的 zip 或 gzip 文件?

损坏压缩文件的最常见方法是无意中执行 ASCII 模式 FTP 传输,这会导致 CR 和/或 LF 字符的多对一丢弃。

显然,存在信息丢失,解决此问题的最佳方法是再次传输,以 FTP 二进制模式。

但是,如果原件丢失,而且很重要,那么数据的可恢复性如何?

[实际上,我已经知道我认为最好的答案(这非常困难但有时可能 - 我稍后会发布更多),以及常见的非答案(大量用于修复 CRC 而不修复数据的现成程序),但我认为在 stackoverflow 测试期间尝试这个问题会很有趣,看看是否有其他人走上了成功恢复的道路或发现了我不知道的工具。]

0 投票
3 回答
75154 浏览

gzip - 如何从损坏的 .tar.gz 存档中恢复文件?

我在 .tar.gz 存档中有大量文件。使用命令检查文件类型

给出回应

当我尝试使用 gunzip 提取存档时,延迟后我收到了消息

有什么方法可以恢复部分存档吗?

0 投票
5 回答
5857 浏览

svn - git svn rebase:数据不完整:增量源意外结束

我一直在维护watir 项目git 镜像。几周前的某个时候,我们有人准备提交他们的第一个基于 git 的补丁。不幸的是,由于项目的多平台性质,我们遇到了一些关于行尾(CRLF 与 LF 等)的问题。

我尝试了设置autocrlf 选项(设置为“输入”),并进行了一些 --hard 重置。然而,几天后,每日更新(git svn rebase)出现了这个错误:

我试过用谷歌搜索做什么,但即使删除 .git/config 中的 autocrlf 设置也无济于事。我担心工作副本已损坏,但我希望它不是不可恢复的。

显然,一种可能的做法是从 svn 重新导入并启动一个新镜像,但我希望我们不必这样做,因为当前的 watir-mirror 已经分叉,并且人们已经开发了新代码在他们的叉子里。

提前感谢您的帮助。

0 投票
2 回答
3067 浏览

sql - 损坏的 SQL Server 索引?

我遇到了一个非常奇怪的问题,该问题似乎是某种损坏的索引。从 dbcc checkdb 将拾取它的意义上说不是损坏,但从它具有不应该具有的行的意义上说是损坏的。

我有两个表,TableA 和 TableB。出于我的应用程序的目的,某些行在功能上被认为是重复的,这意味着虽然并非所有列值都相同,但我的应用程序将该行视为重复。为了过滤掉这些,我创建了一个名为 vTableAUnique 的视图。视图定义如下:

视图的结果是来自 TableA 的所有记录,这些记录在 TableA 中没有任何其他行与 Col1 的值相同。对于此示例,假设 TableA 总共有 10 行,但只有 7 行具有不同的值显示在 vTableAUnique 中。

TableB 基本上只是一个与 TableA 中 Col1 的值匹配的值列表。在这种情况下,假设 TableB 具有出现在 vTableAUnique 中的所有 8 个唯一值。因此,TableA、TableB 和 vTableAUnique 中的数据如下所示:

所以这是奇怪的部分。有时,当我在 Col1 上将 vTableAUnique 与 TableB 连接时,我会从 TableA 中取回非不同的值。换句话说,在 vTableAUnique 中不存在但在 TableA 中存在的行会在我执行连接时出现。如果我在 vTableAUnique 之外进行选择,我不会得到这些行。在这种情况下,我不仅会返回 ID 为 1、3、5、6、7、8、9、10 的行,还会返回 ID 为 2 和 4 的行!

在把头撞在桌子上之后,我决定尝试重建数据库中的所有索引。果然,问题消失了。现在,相同的查询返回了正确的行。然而,经过一段不确定的时间后,问题又回来了。DBCC CHECKDB 没有显示任何问题,我很难追踪可能导致此问题的索引。

我在 Vista x64 上使用 SQL Server 2008 Developer Edition。

帮助!

0 投票
5 回答
1734 浏览

c - Unix 上的分段错误 - 可能的堆栈损坏

我正在查看在 Unix 中运行的进程的核心。通常我可以解决问题并深入回溯以尝试识别内存问题。在这种情况下,我不确定如何进行。

首先,回溯只给出了 3 帧,我期望更多。对于那些帧,所有呈现的函数参数似乎完全无效。没有我所期望的。

一些指针参数与它们相关联 - 无法访问地址处的内存

这是否表明某种完整的堆栈损坏。我用 libumem 运行了这个过程,所有的缓冲区都被报告为干净的。

umem_status 也没有报告任何内容。

所以基本上我很难过。可能的原因是什么?我应该在代码中寻找什么,因为 libumem 似乎没有报告任何错误。

关于如何进一步调试的任何建议?我应该考虑 mdb 中的任何额外功能吗?

谢谢你。

0 投票
3 回答
566 浏览

c++ - 奇怪的临时数组损坏

我正在尝试创建一个排列,当我完成我的问题时收到这个奇怪的错误:

变量的段在嵌套的 for 循环中:

text 在 for 循环之外被初始化为字符串,当我将 temp[1] 转换为 char 或 int 时,我得到了同样的错误。该程序运行良好,但我担心为什么会收到此错误,有人知道为什么吗?

0 投票
3 回答
929 浏览

c++ - 使用 __stdcall 和损坏的堆栈 (C++) 进行思想实验

今天脑子里一直在想函数指针这个话题,脑子里想到了以下场景:

AFAIK 这段代码会破坏堆栈,那么如果我运行这段代码,我会看到哪些类型的问题?

我会做这个调查自己,但是我已经离开我的开发机器一周了。

编辑:等一下,我想多了。正如评论中所观察到的那样,这段代码的目的是在所有事情都说完后在堆栈上留下一个参数(调用者将两个参数放在堆栈上,被调用者 - 只需要一个参数 - 只弹出一个)。然而,由于我的演员没有提到调用约定,我是否抛弃了 stdcall,至少从调用者的角度来看?int function(int)仍然会从堆栈中弹出一个参数,但是调用者是否会因为转换而恢复认为该函数是 __cdecl (默认值)?(即弹出三个参数?)

EDIT2:正如 Rob 所证实的,第二个问题的答案是肯定的。如果我想在堆栈上留下一个参数,我将不得不重述 __stdcall:

0 投票
15 回答
113114 浏览

eclipse - 如何恢复损坏的 Eclipse 工作区?

我刚刚设法破坏了我的 Eclipse .metadata 目录的内容。用 eclipse -clean 启动没有成功。删除 .metadata 然后导入所有项目、插件和设置听起来不太有趣。我最终将 .metadata/.plugins/org.eclipse.core.resources/ 移到别处并仅重新导入我的项目。

是否有任何工具或最佳实践来恢复工作空间?

0 投票
2 回答
3217 浏览

java - 无效或损坏的 jarfile

我试图从一个使用一些外部 jar 的 java 项目创建一个 jar 文件。我创建了一个 lib 文件夹并将我需要的所有 jar 放在那里。

我通过将lib文件夹中的所有jar添加到构建路径来在eclipse中运行该项目,它工作正常。

当我尝试使用 build.xml 中的 ant 创建 jar 时,似乎没问题,没有显示错误。

当我尝试运行 jar 时,我收到消息“无效或损坏的 jarfile”。

在 build.xml 中:我定义了用于编译的路径:

这是编译的目标:

这是制作jar文件的目标:

你能告诉我我做错了什么吗?

0 投票
2 回答
616 浏览

php - PHP函数返回值嵌套数组被移除

我有一个从数据库构建用户对象集合的函数:

该方法在底部有一些调试输出,但关键是如果我使用 null groupid 参数调用该方法,即它运行第二个条件,它会打印出我期望接收的集合的一个很好的指示,这很棒。

然而 ..

这是我的调用方法:

有趣的是输出:

返回的对象已被修改??

如果使用 userGroupID(即第一种情况)调用 GetUsersByGroup 方法,则输出完全符合预期。

如果我从方法中删除条件并简单地返回,$col = UserGroup::GetCollection("User" ,_DB_GET_ALL_INSTANCE_NOGROUP_MEMBERS,$instanceID);那么所有输出都符合预期。

似乎 else 条件正确执行,然后在返回时损坏,但这仅在存在 else 条件时才会发生,删除 else 条件,并在 else 条件中简单地返回方法调用的结果,一切都为预期的。

请问有什么想法吗?

谢谢

添加了 UserGroup::GetCollection 方法(虽然这是一个很深的兔子洞,可以继续)

为了进一步澄清以下工作正常::

如果该行位于 else 块中,我只会看到问题。