JNI中C++部分的EXCEPTION_ACCESS_VIOLATION (0xc0000005)问题,达人帮忙分析一下

hclovelt 2008-05-30 02:05:10
我在做ExchangeServer相关的开发工作,读取全球通讯簿时报EXCEPTION_ACCESS_VIOLATION (0xc0000005)错,查看LOG发现,我只能读到第一条记录的PR_EMS_AB_HOME_MTA,而从第二条开始只要一读取PR_EMS_AB_HOME_MTA字段信息就报错,不读PR_EMS_AB_HOME_MTA自读,程序就正常。我把错误日志和相关代码贴出来,达人帮忙分析一下,先谢谢啦。

**************相关 C++ CODE*********************************
void GetAddressBookItems(LPMAPISESSION lpSession, vector<CAddressBookItem *> &abItem)
{
hRes = HrQueryAllRows(lpContentsTable, (LPSPropTagArray)&sptCols, NULL, NULL, 0, &pRow);


if(S_OK!=hRes)
{
pException=new CMapiException(ERROR_MAPI_QUERY_ROW_FAIL,string("MapiFunctions.cpp:OpenMessageStoreGUID:HrQueryAllRows"));
goto end;
}

for(ulRowNum=0; ulRowNum < pRow->cRows; ulRowNum ++)
{
pabi = new CAddressBookItem();
pabi->setAccount(pRow->aRow[ulRowNum].lpProps[ACCOUNT].Value.lpszA);
pabi->setDisplayName(pRow->aRow[ulRowNum].lpProps[NAME].Value.lpszA);
//pabi->setEmail(pRow->aRow[ulRowNum].lpProps[EMAIL].Value.lpszA);
pabi->setSmtpAddress(pRow->aRow[ulRowNum].lpProps[SMTPMAIL].Value.lpszA);

//就是下面这句出问题
pabi->setAbHomeMTA(pRow->aRow[ulRowNum].lpProps[ABHOMEMTA].Value.lpszA);
//如果只像下面这样,读第一条也能正常跑起来
//pabi->setAbHomeMTA(pRow->aRow[0].lpProps[ABHOMEMTA].Value.lpszA);

abItem.push_back(pabi);
}
end:
......
}

...全文
1516 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhyit 2008-12-12
  • 打赏
  • 举报
回复
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x05f0c4e4, pid=5320, tid=2184
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b23 mixed mode, sharing windows-x86)
# Problematic frame:
# C [ICTCLAS.dll+0xc4e4]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

--------------- T H R E A D ---------------

Current thread (0x05713400): JavaThread "Thread-83" [_thread_in_native, id=2184, stack(0x05d50000,0x05da0000)]

siginfo: ExceptionCode=0xc0000005, writing address 0x520d880b

Registers:
EAX=0x0751d188, EBX=0xffffffff, ECX=0x520d8807, EDX=0x07da8d9c
ESP=0x05d9f4ac, EBP=0x05d9f4cc, ESI=0x0000001d, EDI=0x52006100
EIP=0x05f0c4e4, EFLAGS=0x00010297

Top of Stack: (sp=0x05d9f4ac)
0x05d9f4ac: 07da8b30 07da8da0 05f54c8c 07da8b60
0x05d9f4bc: 07520d40 ffffffff 00000020 20202078
0x05d9f4cc: 05d9f6a0 05f0a25c 066b0890 00000001
0x05d9f4dc: 07da8b60 05f1377f 07da8da0 05f0147f
0x05d9f4ec: 07da8da0 05d9f59c 05f200c4 00000000
0x05d9f4fc: 05f01fd1 05f54ca8 05f200a4 07da8fa8
0x05d9f50c: 05d9f6e0 05f6f3b8 05f200c4 00000000
0x05d9f51c: 0000077f 066b00c4 06ac4218 00002d16

Instructions: (pc=0x05f0c4e4)
0x05f0c4d4: 75 06 8b 4d 08 21 79 04 8b 4c 13 08 8b 7c 13 04
0x05f0c4e4: 89 79 04 8b 4c 13 04 8b 7c 13 08 03 5d f8 89 79


Stack: [0x05d50000,0x05da0000], sp=0x05d9f4ac, free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ICTCLAS.dll+0xc4e4]
C [ICTCLAS.dll+0xa25c]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
JAVA_HOME=C:\java\jdk1.6.0_07
CLASSPATH=.;C:\learning\java;C:\java\jdk1.6.0_07\lib\dt.jar;C:\java\jdk1.6.0_07\lib\tools.jar;
PATH=C:/java/jdk1.6.0_07/bin/../jre/bin/client;C:/java/jdk1.6.0_07/bin/../jre/bin;C:\java\jdk1.6.0_07\bin;C:\java\Tomcat 6.0\bin;C:\java\MySQL\MySQL Server 5.0\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Diskeeper Corporation\Diskeeper\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\Common Files\Lenovo;C:\Program Files\ThinkPad\ConnectUtilities;C:\Program Files\Lenovo\Client Security Solution;c:\Program Files\Microsoft SQL Server\90\Tools\binn;C:\java\apache-ant-1.7.1\bin;C:\java\javacc-4.2\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin
USERNAME=lhy
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel



--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 13, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 1048575k(822096k free), swap 2097151k(1048575k free)

vm_info: Java HotSpot(TM) Client VM (10.0-b23) for windows-x86 JRE (1.6.0_07-b06), built on Jun 10 2008 01:14:11 by "java_re" with MS VC++ 7.1

time: Thu Dec 11 23:50:56 2008
elapsed time: 57 seconds

hclovelt 2008-05-30
  • 打赏
  • 举报
回复
VM Arguments:
jvm_args: -DLES_HOME=c:\\LES_HOME\
java_command: com.les.connector.exchange.test.TestMail
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=.;D:\Java\jdk1.5.0_15\lib\tools.jar;D:\Java\jdk1.5.0_15\lib\dt.jar
PATH=D:\workspace\ExchangeConnectorCPP\Release;D:\Java\jdk1.5.0_15\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel

--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 (cores per cpu 2, threads per core 1) family 15 model 6 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3

Memory: 4k page, physical 1046568k(335660k free), swap 2517824k(1650836k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_15-b04) for windows-x86, built on Feb 9 2008 01:07:28 by "java_re" with MS VC++ 6.0
hclovelt 2008-05-30
  • 打赏
  • 举报
回复
***************************错误日志***************************************
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7814455c, pid=916, tid=4708
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_15-b04 mixed mode, sharing)
# Problematic frame:
# C [MSVCR80.dll+0x1455c]
#

--------------- T H R E A D ---------------

Current thread (0x00823450): JavaThread "main" [_thread_in_native, id=4708]

siginfo: ExceptionCode=0xc0000005, reading address 0x8004010f

Registers:
EAX=0x8004010f, EBX=0x0006f8c8, ECX=0x8004010f, EDX=0x04c318f0
ESP=0x0006f65c, EBP=0x0006f8ec, ESI=0x04b32300, EDI=0x03f8fa00
EIP=0x7814455c, EFLAGS=0x00010206

Top of Stack: (sp=0x0006f65c)
0x0006f65c: 7c4239df 8004010f 0006f9bc 1000123a
0x0006f66c: 8004010f 10010c57 64c24d09 1001b36c
0x0006f67c: 0006f9bc 00000000 00000001 7c4360c8
0x0006f68c: 7c43fe9e 033ebb48 0006f770 00000000
0x0006f69c: 1001b300 10023544 10023594 0006f720
0x0006f6ac: 0006f6c4 00000004 04b32290 0006f754
0x0006f6bc: 7c43feb0 033ebb48 38303734 00000fa0
0x0006f6cc: 7814ec88 7814ec90 6488e0b5 00000000

Instructions: (pc=0x7814455c)
0x7814454c: cc cc cc cc 8b 4c 24 04 f7 c1 03 00 00 00 74 24
0x7814455c: 8a 01 83 c1 01 84 c0 74 4e f7 c1 03 00 00 00 75


Stack: [0x00030000,0x00070000), sp=0x0006f65c, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [MSVCR80.dll+0x1455c]
C [ExchangeConnector.dll+0x15dd]
C [ExchangeConnector.dll+0x5b66]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.les.connector.exchange.ExchangeSession.getAddressBookItemList0()Ljava/util/List;+0
j com.les.connector.exchange.ExchangeSession.getAddressBookItemList()Ljava/util/List;+1
j com.les.connector.exchange.test.TestMail.testAddressBook()V+23
j com.les.connector.exchange.test.TestMail.main([Ljava/lang/String;)V+0
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x00831c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=5140]
0x0082f3a0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3304]
0x0082e180 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5500]
0x0082d710 JavaThread "Finalizer" daemon [_thread_blocked, id=3100]
0x0082c480 JavaThread "Reference Handler" daemon [_thread_blocked, id=3844]
=>0x00823450 JavaThread "main" [_thread_in_native, id=4708]

Other Threads:
0x0082b6d0 VMThread [id=600]
0x00832730 WatcherThread [id=5728]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 576K, used 559K [0x22bd0000, 0x22c70000, 0x230b0000)
eden space 512K, 97% used [0x22bd0000, 0x22c4c7e8, 0x22c50000)
from space 64K, 96% used [0x22c60000, 0x22c6f788, 0x22c70000)
to space 64K, 0% used [0x22c50000, 0x22c50000, 0x22c60000)
tenured generation total 1408K, used 381K [0x230b0000, 0x23210000, 0x26bd0000)
the space 1408K, 27% used [0x230b0000, 0x2310f538, 0x2310f600, 0x23210000)
compacting perm gen total 8192K, used 1692K [0x26bd0000, 0x273d0000, 0x2abd0000)
the space 8192K, 20% used [0x26bd0000, 0x26d77240, 0x26d77400, 0x273d0000)
ro space 8192K, 67% used [0x2abd0000, 0x2b132410, 0x2b132600, 0x2b3d0000)
rw space 12288K, 47% used [0x2b3d0000, 0x2b97f748, 0x2b97f800, 0x2bfd0000)

Dynamic libraries:
0x00400000 - 0x0040d000 D:\Java\jdk1.5.0_15\bin\javaw.exe
0x7c920000 - 0x7c9b4000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c91d000 C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e49000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee2000 C:\WINDOWS\system32\RPCRT4.dll
0x77fc0000 - 0x77fd1000 C:\WINDOWS\system32\Secur32.dll
0x77d10000 - 0x77d9f000 C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f37000 C:\WINDOWS\system32\GDI32.dll
0x77be0000 - 0x77c38000 C:\WINDOWS\system32\MSVCRT.dll
0x76300000 - 0x7631d000 C:\WINDOWS\system32\IMM32.DLL
0x62c20000 - 0x62c29000 C:\WINDOWS\system32\LPK.DLL
0x73fa0000 - 0x7400b000 C:\WINDOWS\system32\USP10.dll
0x6d740000 - 0x6d8de000 D:\Java\jdk1.5.0_15\jre\bin\client\jvm.dll
0x76b10000 - 0x76b3a000 C:\WINDOWS\system32\WINMM.dll
0x6d300000 - 0x6d308000 D:\Java\jdk1.5.0_15\jre\bin\hpi.dll
0x76bc0000 - 0x76bcb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d710000 - 0x6d71c000 D:\Java\jdk1.5.0_15\jre\bin\verify.dll
0x6d380000 - 0x6d39d000 D:\Java\jdk1.5.0_15\jre\bin\java.dll
0x6d730000 - 0x6d73f000 D:\Java\jdk1.5.0_15\jre\bin\zip.dll
0x10000000 - 0x10028000 D:\workspace\ExchangeConnectorCPP\Release\ExchangeConnector.dll
0x7d590000 - 0x7dd84000 C:\WINDOWS\system32\SHELL32.dll
0x77f40000 - 0x77fb6000 C:\WINDOWS\system32\SHLWAPI.dll
0x7c420000 - 0x7c4a7000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\MSVCP80.dll
0x78130000 - 0x781cb000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\MSVCR80.dll
0x62060000 - 0x6207f000 C:\WINDOWS\system32\MAPI32.dll
0x77180000 - 0x77283000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
0x5d170000 - 0x5d20a000 C:\WINDOWS\system32\comctl32.dll
0x38ed0000 - 0x38edd000 C:\Program Files\Common Files\SYSTEM\MSMAPI\2052\MSMAPI32.DLL
0x38ee0000 - 0x391b2000 C:\Program Files\Microsoft Office\Office12\olmapi32.dll
0x76990000 - 0x76acd000 C:\WINDOWS\system32\ole32.dll
0x77bd0000 - 0x77bd8000 C:\WINDOWS\system32\VERSION.dll
0x5adc0000 - 0x5adf7000 C:\WINDOWS\system32\uxtheme.dll
0x74680000 - 0x746cc000 C:\WINDOWS\system32\MSCTF.dll
0x03520000 - 0x03690000 C:\WINDOWS\system32\nview.dll
0x770f0000 - 0x7717b000 C:\WINDOWS\system32\OLEAUT32.dll
0x76cb0000 - 0x76cd0000 C:\WINDOWS\system32\NTMARTA.DLL
0x76f30000 - 0x76f5c000 C:\WINDOWS\system32\WLDAP32.dll
0x71b70000 - 0x71b83000 C:\WINDOWS\system32\SAMLIB.dll
0x03740000 - 0x03768000 C:\WINDOWS\system32\NVWRSZHC.DLL
0x32600000 - 0x33618000 C:\Program Files\Common Files\Microsoft Shared\office12\mso.dll
0x03770000 - 0x03a36000 C:\WINDOWS\system32\msi.dll
0x34bb0000 - 0x34ce1000 C:\Program Files\Microsoft Office\Office12\2052\mapir.dll
0x3a780000 - 0x3a889000 C:\Program Files\Common Files\Microsoft Shared\office12\riched20.dll
0x38350000 - 0x38371000 C:\Program Files\Microsoft Office\Office12\contab32.dll
0x73640000 - 0x7366e000 C:\WINDOWS\system32\msctfime.ime
0x38b40000 - 0x38cb3000 C:\Program Files\Microsoft Office\Office12\EMSMDB32.DLL
0x71a40000 - 0x71a4b000 C:\WINDOWS\system32\WSOCK32.dll
0x71a20000 - 0x71a37000 C:\WINDOWS\system32\WS2_32.dll
0x71a10000 - 0x71a18000 C:\WINDOWS\system32\WS2HELP.dll
0x719c0000 - 0x719fe000 C:\WINDOWS\System32\mswsock.dll
0x76d30000 - 0x76d48000 C:\WINDOWS\system32\iphlpapi.dll
0x76d10000 - 0x76d28000 C:\WINDOWS\system32\MPRAPI.dll
0x77c90000 - 0x77cc2000 C:\WINDOWS\system32\ACTIVEDS.dll
0x76de0000 - 0x76e05000 C:\WINDOWS\system32\adsldpc.dll
0x5fdd0000 - 0x5fe24000 C:\WINDOWS\system32\NETAPI32.dll
0x76af0000 - 0x76b01000 C:\WINDOWS\system32\ATL.DLL
0x76e50000 - 0x76e5e000 C:\WINDOWS\system32\rtutils.dll
0x76060000 - 0x761b6000 C:\WINDOWS\system32\SETUPAPI.dll
0x76f90000 - 0x76f96000 C:\WINDOWS\system32\rasadhlp.dll
0x76ef0000 - 0x76f17000 C:\WINDOWS\system32\DNSAPI.dll
0x765e0000 - 0x76672000 C:\WINDOWS\system32\CRYPT32.dll
0x76db0000 - 0x76dc2000 C:\WINDOWS\system32\MSASN1.dll
0x76770000 - 0x76783000 C:\WINDOWS\system32\NTDSAPI.dll
0x60fd0000 - 0x61025000 C:\WINDOWS\system32\hnetcfg.dll
0x71a00000 - 0x71a08000 C:\WINDOWS\System32\wshtcpip.dll
0x77c40000 - 0x77c63000 C:\WINDOWS\system32\msv1_0.dll

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧