51Testing软件测试论坛

标题: LR9.5 与sqlserver2008不兼容? [打印本页]

作者: shuji1818    时间: 2009-6-23 23:19
标题: LR9.5 与sqlserver2008不兼容?
已经重装聊两次系统,终于确定是在装了sql2008以后,OPen一个参数化过的脚本,打开参数列表,就会出现如下异常错误:如附件中的图。
以下是异常的细节信息:
vugen.exe caused an EXCEPTION_ACCESS_VIOLATION in module MFC80.DLL at 001B:7821C0F3, Ordinal3771()+0098 byte(s)
EAX=00000000  EBX=00241890  ECX=77D1882A  EDX=00AD0650  ESI=013967B8
EDI=00000001  EBP=0012DCEC  ESP=0012DC38  EIP=7821C0F3  FLG=00010206
CS=001B   DS=0023  SS=0023  ES=0023   FS=003B  GS=0000
001B:7821C0F3 MFC80.DLL, Ordinal3771()+0098 byte(s)
001B:7820277E MFC80.DLL, Ordinal6275()+0034 byte(s)
001B:78201514 MFC80.DLL, Ordinal1028()+0163 byte(s)
001B:7820172A MFC80.DLL, Ordinal1209()+0053 byte(s)
001B:40A70AAB coparamui.dll, DllUnregisterServer()+36923 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D28EA0 USER32.dll, DefWindowProcW()+0384 byte(s)
001B:77D28EEC USER32.dll, DefWindowProcW()+0460 byte(s)
001B:7C92E453 ntdll.dll, KiUserCallbackDispatcher()+0019 byte(s)
001B:77D2651A USER32.dll, IsDlgButtonChecked()+5920 byte(s)
001B:77D2683E USER32.dll, CreateDialogIndirectParamAorW()+0051 byte(s)
001B:77D39B43 USER32.dll, CreateDialogIndirectParamA()+0027 byte(s)
001B:5D1A3A91 COMCTL32.dll, CreatePropertySheetPage()+0264 byte(s)
001B:5D1A3B40 COMCTL32.dll, CreatePropertySheetPage()+0439 byte(s)
001B:5D1A5EA7 COMCTL32.dll, Ordinal164()+1274 byte(s)
001B:5D1A78B6 COMCTL32.dll, Ordinal164()+7945 byte(s)
001B:5D1A839E COMCTL32.dll, Ordinal164()+10737 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D2413C USER32.dll, DefDlgProcW()+1026 byte(s)
001B:77D23B30 USER32.dll, EnumDisplaySettingsA()+0201 byte(s)
001B:77D3E599 USER32.dll, DefDlgProcA()+0034 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D2A013 USER32.dll, IsWindowUnicode()+0161 byte(s)
001B:77D2A998 USER32.dll, CallWindowProcA()+0027 byte(s)
001B:78201F40 MFC80.DLL, Ordinal1908()+0066 byte(s)
001B:782015D7 MFC80.DLL, Ordinal1903()+0046 byte(s)
001B:7821ED17 MFC80.DLL, Ordinal3775()+0008 byte(s)
001B:7820277E MFC80.DLL, Ordinal6275()+0034 byte(s)
001B:78201514 MFC80.DLL, Ordinal1028()+0163 byte(s)
001B:7820172A MFC80.DLL, Ordinal1209()+0053 byte(s)
001B:40A70AAB coparamui.dll, DllUnregisterServer()+36923 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D28EA0 USER32.dll, DefWindowProcW()+0384 byte(s)
001B:77D28EEC USER32.dll, DefWindowProcW()+0460 byte(s)
001B:7C92E453 ntdll.dll, KiUserCallbackDispatcher()+0019 byte(s)
001B:77D2651A USER32.dll, IsDlgButtonChecked()+5920 byte(s)
001B:77D2683E USER32.dll, CreateDialogIndirectParamAorW()+0051 byte(s)
001B:77D3F03A USER32.dll, CreateDialogIndirectParamW()+0027 byte(s)
001B:5D1A8A04 COMCTL32.dll, Ordinal164()+12375 byte(s)
001B:5D1A8C55 COMCTL32.dll, Ordinal164()+12968 byte(s)
001B:5D1A8CBA COMCTL32.dll, PropertySheet()+0065 byte(s)
001B:7821EFE5 MFC80.DLL, Ordinal3294()+0506 byte(s)
001B:7821E61A MFC80.DLL, Ordinal1582()+0150 byte(s)
001B:32340930 paramui.dll, CParamEditDialog::GetOriginalValue()+13792 byte(s)
001B:32340D3D paramui.dll, CParamEditDialog::GetOriginalValue()+14829 byte(s)
001B:32343F7D paramui.dll, CParamUIMgr::CreateParamPropertiesWnd()+0157 byte(s)
001B:3233F164 paramui.dll, CParamEditDialog::GetOriginalValue()+7700 byte(s)
001B:7821B914 MFC80.DLL, Ordinal1048()+0046 byte(s)
001B:77D2413C USER32.dll, DefDlgProcW()+1026 byte(s)
001B:77D23B30 USER32.dll, EnumDisplaySettingsA()+0201 byte(s)
001B:77D3E599 USER32.dll, DefDlgProcA()+0034 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D2A013 USER32.dll, IsWindowUnicode()+0161 byte(s)
001B:77D2A998 USER32.dll, CallWindowProcA()+0027 byte(s)
001B:78201F40 MFC80.DLL, Ordinal1908()+0066 byte(s)
001B:782015D7 MFC80.DLL, Ordinal1903()+0046 byte(s)
001B:7820277E MFC80.DLL, Ordinal6275()+0034 byte(s)
001B:78201514 MFC80.DLL, Ordinal1028()+0163 byte(s)
001B:7820172A MFC80.DLL, Ordinal1209()+0053 byte(s)
001B:40A70AAB coparamui.dll, DllUnregisterServer()+36923 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D28EA0 USER32.dll, DefWindowProcW()+0384 byte(s)
001B:77D28EEC USER32.dll, DefWindowProcW()+0460 byte(s)
001B:7C92E453 ntdll.dll, KiUserCallbackDispatcher()+0019 byte(s)
001B:77D2651A USER32.dll, IsDlgButtonChecked()+5920 byte(s)
001B:77D2683E USER32.dll, CreateDialogIndirectParamAorW()+0051 byte(s)
001B:77D39B43 USER32.dll, CreateDialogIndirectParamA()+0027 byte(s)
001B:0047EABF vugen.exe, CNewVuserDlg::`default constructor closure'()+47167 byte(s)
001B:7821BCB0 MFC80.DLL, Ordinal1631()+0328 byte(s)
001B:7821BF91 MFC80.DLL, Ordinal2020()+0258 byte(s)
001B:32344293 paramui.dll, CParamUIMgr::OpenParameterEditDialog()+0099 byte(s)
001B:40A61DF9 coparamui.dll
001B:004D630F vugen.exe, CLrBaseException::CLrBaseException()+108047 byte(s)
001B:004CDFD6 vugen.exe, CLrBaseException::CLrBaseException()+74454 byte(s)
001B:7822AF18 MFC80.DLL, Ordinal590()+0078 byte(s)
001B:7822B0E8 MFC80.DLL, Ordinal4261()+0277 byte(s)
001B:7822C4CA MFC80.DLL, Ordinal4264()+0023 byte(s)
001B:78260831 MFC80.DLL, Ordinal4270()+0137 byte(s)
001B:004A5C33 vugen.exe, CParamEngine:perator=()+69283 byte(s)
001B:7822EB16 MFC80.DLL, Ordinal4273()+0111 byte(s)
001B:782077D8 MFC80.DLL, Ordinal4265()+0055 byte(s)
001B:78202F24 MFC80.DLL, Ordinal4282()+0144 byte(s)
001B:78206DAC MFC80.DLL, Ordinal4277()+0122 byte(s)
001B:7820277E MFC80.DLL, Ordinal6275()+0034 byte(s)
001B:78201514 MFC80.DLL, Ordinal1028()+0163 byte(s)
001B:7820A75A MFC80.DLL, Ordinal4278()+0040 byte(s)
001B:0043E78D vugen.exe, CSaveSelection:perator=()+187469 byte(s)
001B:78202804 MFC80.DLL, Ordinal5073()+0100 byte(s)
001B:7820277E MFC80.DLL, Ordinal6275()+0034 byte(s)
001B:78201514 MFC80.DLL, Ordinal1028()+0163 byte(s)
001B:7820172A MFC80.DLL, Ordinal1209()+0053 byte(s)
001B:781FF854 MFC80.DLL, Ordinal582()+0358 byte(s)
001B:77D18734 USER32.dll, GetDC()+0109 byte(s)
001B:77D18816 USER32.dll, GetDC()+0335 byte(s)
001B:77D189CD USER32.dll, GetWindowLongW()+0295 byte(s)
001B:77D196C7 USER32.dll, DispatchMessageA()+0015 byte(s)

有其他人遇到这样的问题吗?有解决办法的话,告诉以下。
作者: shanxi    时间: 2009-6-24 11:28
标题: 似乎是vugen.exe内存越界了
MFC80.DLL, Ordinal3771()+0098 byte(s) 属于哪个函数?


你装一个windbg,cmd下进入windbg.exe所在目录,然后运行:
windbg -IS
然后重现你的Crash

下载 MiniDumps2Txt 把其中的MiniDmp2Txt.txt解压缩,比如放到 I:\MiniDmp2Txt.txt
................................................

完整过程见这里

去windbg.exe所在目录下找出.log后缀的一个文件把输出打包给贴上来。
已经发到你的邮箱了。
链接失效是因为skydriver的下载地址开始动态变化了,刚知道这个变化。

[ 本帖最后由 shanxi 于 2009-6-25 13:59 编辑 ]
作者: shuji1818    时间: 2009-6-25 11:42
谢谢shanxi再一次回答我的问题,特备是如此认真的态度让我敬佩。

MiniDmp2Txt下载不了,去网上搜索竟然没有相关信息。

可以发一个给我吗?邮箱:shuji1818@163.com
作者: akai_cn    时间: 2009-6-25 16:18
今天我也遇到这个问题了,搜索到了这里,不过没有发现答案,于是我自己摸索找到了解决方案。
分析了原因可能是因为调用的MFC80.dll和安装sql2008附带的MFC80.dll不一致。

loadrunner9.5调用下面路径下的mfc80.dll
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.1833_x-ww_2fd6f5db\mfc80.dll ......1,080KB

安装sqlserver 2008后,系统中的mfc80.dll
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\mfc80.dll.........1,068KB

解决方法:
备份C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.1833_x-ww_2fd6f5db\mfc80.dll => mfc80.dll.bak
复制C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\mfc80.dll到上面的目录。

重启loadrunner9.5,尝试参数化,正常。
作者: vivien113344    时间: 2009-6-25 16:40
可以把LR9.5发给我不?或者告诉我下载地址
作者: shanxi    时间: 2009-6-25 16:53
标题: 回复 4# 的帖子
你这个倒也有理

只是sql2008没用MFC 9.0出乎我的意料。
WinSxS你说的那替换文件是Windows为了避免dll陷阱分版本放的目录,就是所谓的Side by Side,最好替换前先备份一下。

[ 本帖最后由 shanxi 于 2009-6-25 19:03 编辑 ]
作者: shuji1818    时间: 2009-6-26 14:04
谢谢上面几位的解答。
看来以后碰到问题要尝试自己动手解决。

to vivien1133344:
我也是从这里找到别人提供的入口,注册后下载的。搜索一下就能找到地址。
作者: harric    时间: 2009-7-31 20:09
标题: 也出问题了,但不是由于MFC80.dll....郁闷...我装的是SQLSERVER 2005.
vugen.exe caused an EXCEPTION_ACCESS_VIOLATION in module OLEAUT32.dll at 001B:76524580, SysAllocString()+0021 byte(s)

EAX=00000020  EBX=00000000  ECX=0000000C  EDX=00000022  ESI=0B0D27B8
EDI=00000020  EBP=0012E470  ESP=0012E470  EIP=76524580  FLG=00010202
CS=001B   DS=0023  SS=0023  ES=0023   FS=003B  GS=0000

001B:76524580 OLEAUT32.dll, SysAllocString()+0021 byte(s)

001B:2E56B4E7 WebRecorder.dll, WebRecorder_ExternalEventRecorderUpdateContextSettings()+20343 byte(s)
作者: shanxi    时间: 2009-8-2 12:11
标题: OLEAUT32.dll 是OS的系统文件
WebRecorder.dll是LR的文件,

看起来是WebRecorder_ExternalEventRecorderUpdateContextSettings() 引发了 SysAllocString()错误。
作者: ringhoppy    时间: 2010-9-15 17:38
我裝的SQL2008,出現下面這種情況怎麽解決?謝謝啦
vugen.exe caused an EXCEPTION_ACCESS_VIOLATION in module lrc_basic_filters.dll at 001B:35651CB8, CleanExtraEvents_Initialize()+0360 byte(s)

EAX=00000000  EBX=00000000  ECX=00000100  EDX=0000C000  ESI=0D97A978
EDI=0D913FA8  EBP=0013E830  ESP=0013E7C8  EIP=35651CB8  FLG=00010202
CS=001B   DS=0023  SS=0023  ES=0023   FS=003B  GS=0000
作者: ljonathan    时间: 2010-10-18 16:49
非常感谢前面,各位仁兄的努力
我也是相同的问题,已经解决了

另说明:
这一步:
复制C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\mfc80.dll到上面的目录。

此目录可能会不相同:
x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2

但规则应该是 x86_Microsoft.VC80.MFC 开头的有两个文件夹,
之前备份的,也是要被替换的是文件夹名称里面有  1833  的那个文件夹
而另外一个文件夹里的就是你要拷贝的

thanks
作者: 月光蝴蝶    时间: 2011-8-30 10:40
也遇到了这个问题,按照 akai_cn  的方法解决成功
作者: lansetianji2011    时间: 2012-4-11 12:38
我也出现此问题,首先是按F1打开帮助时,出现此异常错误。如图:[attach]78395[/attach],
然后是:VuGen中new一脚本时,选择协议后,也出现此对话框。我没有安装sqlsever2008数据库啊!
作者: 云层    时间: 2012-4-11 13:31
记得先装sqlserver2008再装lr9.5问题就没了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2