我们从客户的网站收到了一个看起来像这样的崩溃日志(没有函数名称解析)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] XXXX.exe caused a in module at 001B:77E4BEE7
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80]
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] Build 5.2.0.426
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80]
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] WorkingSetSize: 296443904 bytes
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80]
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] EAX=7E5CCF88 EBX=00000000 ECX=00000000 EDX=7E5CD030 ESI=7E5CD010
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] EDI=00000000 EBP=7E5CCFD8 ESP=7E5CCF84 EIP=77E4BEE7 FLG=00000206
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] CS=001B DS=0023 SS=0023 ES=0023 FS=003B GS=0000
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80]
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:77E4BEE7 (0xE06D7363 0x00000001 0x00000003 0x7E5CD004)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:007339C1 (0x7E5CD030 0x00867174 0x823D8B58 0x7E5CD388)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:0072E769 (0x5832EF90 0x823D8AF0 0x00DF7118 0x00F97A38)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:004CB6CE (0x5832EF90 0x00F979F8 0x00000000 0x5832EF90)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:004D713C (0x00000002 0x582F5C50 0x823D8930 0x7E5CD1D8)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:004D681A (0x08A9F398 0x823D89FC 0x7E5CD388 0x007C8B64)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:004BD21E (0x823D89C4 0x823D89C8 0x00000000 0x08A9F398)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:00402157 (0x823D8838 0x0370B910 0x7E5CD2B8 0x7E5CD2B8)
Jan 13 12:15:41.739 ccodvcs2 VCS: [0x00003e80] 001B:0052AF9C (0x7E5CD370 0x823D8814 0x00F95F98 0x0367E120)
我有一个对应所有 Dll 和 EXE 本身的 PDB。我怎样才能在堆栈上找到函数的名称?似乎是个很有用的东西,但我无法在网络上看到任何重点信息,
我试图转储 PDB 文件,但那里的地址与崩溃中出现的地址不对应。
最佳答案
用windbg 打开程序并输入
ln 77E4BEE7
ln 007339C1
等等
关于windows - 查找崩溃的函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959686/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在尝试用ruby中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了
我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin
我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or
我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只