草庐IT

windows - 如何从小型转储中提取堆栈跟踪?

我有一大堆小型转储,这些小型转储是在应用程序运行期间通过MiniDumpWriteDump记录的。小型转储是在操作系统版本与我的开发机器不同的机器上创建的。现在我正在尝试编写一个程序,使用dbghelp.dll从小型转储中提取堆栈跟踪。我正在遍历MINIDUMP_MODULE_LIST并调用SymLoadModule64,但这无法从公共(public)符号服务器下载pdb(kernel32等)。如果我将“C:\Windows\System32”添加到符号路径,它会找到dll并下载符号,但当然它们与小型转储中的dll不匹配,因此结果无用。那么我该如何告诉dbghelp.dll下载并使用正

windows - MINIDUMP_TYPE 枚举值的哪种组合会给我最多 'complete' 小型转储?

我希望我的应用创建一个小型转储来帮助调试未处理的异常。在创建转储之前,我可能不知道我需要什么类型的小型转储,那么MINIDUMP_TYPE的组合是什么?我应该使用标志来提供最完整的转储吗? 最佳答案 在DebugInfo.com链接(感谢David)和MSDN页面的帮助下,我得出了以下列表。并非所有标志都包含在DebugInfo.com链接中。使用这些标志应该创建一个全面但大的迷你转储。包括:MiniDumpWithFullMemory-thecontentsofeveryreadablepageintheprocessaddres

c - 有没有办法在运行用 MinGW 编译的程序时生成 gdb 可读的核心转储?

我正在尝试调试使用MinGW的gcc编译的Windows程序,该程序仅在gdb的外部运行时才会出现段错误(可能是某些竞争条件......可爱。)问题是,当程序崩溃并且我没有运行GDB,我无法获得堆栈跟踪...我可以选择在崩溃时在MSVC中打开程序,但MSVC无法读取gcc的调试符号,因此堆栈跟踪它给我是没用的。有没有办法让Windows创建一个核心转储,然后我可以在MinGW的gdb中打开它?或者,有没有办法获取MSVC的堆栈跟踪(它有原始地址但没有符号)并使用gcc来获得人类可读的跟踪? 最佳答案 windows不创建核心文件(在

windows - 在哪里可以找到 Windows 故障转储(蓝屏故障转储)?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我在哪里可以找到死机崩溃转储的蓝屏?

redis - 从快照转储恢复后,Redis 快照是否恢复过期值?

问题一:Redis快照是只备份key-value还是key过期值?问题二:我们有一个共享的Redis集群,其中包含1个主复制和2个从复制。(2个项目使用相同的集群,但目的不同)是否可以只对某些键进行快照,或者Redis快照是否对所有数据集进行备份? 最佳答案 是的,过期时间戳存储在快照(RDB)文件中,并在从中恢复时加载不,没有,在Redis中,应用之间共享数据库不被认为是好的做法(除非应用共享信息)。相反,拆分为两个独立的数据库,您将能够备份(和配置)每个数据库,而无需考虑另一个数据库。

node.js - 使用 passport.js 交换/转储 session 数据

我正在为我的基于MEAN堆栈的应用程序使用Passport,它使用需要多个OAuthtoken的多个API。由于登录和注销会导致太多开销,我正在考虑将序列化的session数据放在Redis存储中,然后在现有session之间来回交换。所以我的问题是,有没有办法以编程方式提取和/或替换Passport数据? 最佳答案 您可以尝试使用serializeUser()将信息存储在MongoDB中,然后使用deserializeUser()取回它吗? 关于node.js-使用passport.j

redis - 将 Redis 转储恢复到不同的数据库

如何转储在数据库0上运行的Redis并将其恢复到我的本地机器上的另一个数据库(8)?我已经安全地复制了转储文件:scphostname@/var/lib/redis/dump.rdb.但是如果我用这个改变我的本地redisdump.rdb,我会得到数据库0上的数据。我怎样才能将它恢复到一个特定的数据库? 最佳答案 首先请注意,不建议使用编号/共享的Redis数据库。您真的应该考虑使用带有单个DB(0)的专用Redis服务器(更多信息位于:https://redislabs.com/blog/benchmark-shared-vs-d

c# - 2台redis服务器可以共享同一个快照转储文件吗?

是否可以在两台机器上运行一个Redis服务器,并且每台服务器在配置文件中指定相同的快照转储文件名和目录,并且目录和文件显然在两台机器之间共享?RavenDB似乎可以很好地工作,我可以在我机器上的Dropbox文件夹中设置整个服务器文件目录,并在另一台机器上做同样的事情,当RavenDb服务器从/读取和写入数据时,两个投递箱同步到存储在投递箱文件夹中的数据库。我理解这两个数据库的概念非常不同,我只是以RavenDB的经验为例来解释我试图完成的事情。请注意,这仅用于开发目的而不是在生产中运行。我在2.4.5版中将Redis作为Windows服务运行,并在C#.Net4.5中使用BookSl

database - 如何打开 mongo-db 转储文件?

我有一个.dump文件(8GB),这是一个我需要使用的mongo数据库。我正在使用Robo3T。我试过:a)robogui中的菜单选项b)mongorestore--dbcert-dbcertctream.dump命令,出现错误(在没有扩展名的情况下使用certctream也不起作用)Failed:filecertctream.dumpdoesnothave.bsonextension我错过了什么? 最佳答案 解决方法:mongoimport--db--hostlocalhost:27017path_to_dump_file

bash - mongodump 从脚本运行时仅转储少量集合,如果从终端运行则竞争数据库;

我有一个脚本可以转储数据库并将其复制到S3。这是调用脚本的crontab条目:*/1****/root/scripts/backupDB.sh备份数据库.sh:#!/bin/sh-ePATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/date_now=`date+%Y_%m_%d_%H_%M`dir_name="db_backup"tar_name="db_backup_${date_now}.tar.gz"file_name="${dir_name}/${tar_name}"if[-z"$di