代号 一个应用程序在模拟器上运行但在 iPhone 设备上反复崩溃
Codename One application works on simulator but crashes repeatedly on iPhone device
将我的第一个应用程序发送到我的 iPhone 后,我发现在使用导航命令或按钮操作事件导航时它会反复崩溃,而模拟器不会。
我无法从崩溃报告(下面的片段)中确定原因是什么,想知道我应该如何进行调试。我看到线程 2 触发了它(崩溃)并且是一些无效地址或其他什么?任何指针将不胜感激。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000021
Triggered by Thread: 2
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x376514f0 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x376512e5 mach_msg + 37
2 CoreFoundation 0x297fd317 __CFRunLoopServiceMachPort + 143
3 CoreFoundation 0x297fb8bd __CFRunLoopRun + 1013
4 CoreFoundation 0x297493bd CFRunLoopRunSpecific + 473
5 CoreFoundation 0x297491cf CFRunLoopRunInMode + 103
6 GraphicsServices 0x30b070a5 GSEventRunModal + 133
7 UIKit 0x2cd58f9d UIApplicationMain + 1437
8 HelloWorld 0x0067fc9b 0x51000 + 6483099
9 HelloWorld 0x000aa8bb 0x51000 + 366779
10 HelloWorld 0x002c352f 0x51000 + 2565423
11 HelloWorld 0x0076103d 0x51000 + 7405629
12 HelloWorld 0x00761097 0x51000 + 7405719
13 libdyld.dylib 0x3759eaad start + 1
Thread 1:
0 libsystem_kernel.dylib 0x37664b38 __psynch_cvwait + 24
1 libsystem_pthread.dylib 0x376e13f5 _pthread_cond_wait + 517
2 libsystem_pthread.dylib 0x376e2319 pthread_cond_timedwait + 41
3 HelloWorld 0x0075dd77 0x51000 + 7392631
4 HelloWorld 0x006af513 0x51000 + 6677779
5 HelloWorld 0x006c8e21 0x51000 + 6782497
6 HelloWorld 0x006c9a43 0x51000 + 6785603
7 HelloWorld 0x0075e211 0x51000 + 7393809
8 libsystem_pthread.dylib 0x376e1e91 _pthread_body + 137
9 libsystem_pthread.dylib 0x376e1e03 _pthread_start + 115
10 libsystem_pthread.dylib 0x376dfb8c thread_start + 4
Thread 2 Crashed:
0 HelloWorld 0x00726d99 0x51000 + 7167385
1 HelloWorld 0x0071f625 0x51000 + 7136805
2 HelloWorld 0x0071f28d 0x51000 + 7135885
3 HelloWorld 0x0071ebc9 0x51000 + 7134153
4 HelloWorld 0x000d2db5 0x51000 + 531893
5 HelloWorld 0x002e89db 0x51000 + 2718171
6 HelloWorld 0x002f11bf 0x51000 + 2752959
7 HelloWorld 0x0044ad11 0x51000 + 4168977
8 HelloWorld 0x00250247 0x51000 + 2093639
9 HelloWorld 0x00276cb5 0x51000 + 2251957
10 HelloWorld 0x00276dd3 0x51000 + 2252243
11 HelloWorld 0x0030b8d1 0x51000 + 2861265
12 HelloWorld 0x002d7ec9 0x51000 + 2649801
13 HelloWorld 0x0030b721 0x51000 + 2860833
14 HelloWorld 0x0030b17d 0x51000 + 2859389
15 HelloWorld 0x0063b9a3 0x51000 + 6203811
16 HelloWorld 0x006349d5 0x51000 + 6175189
17 HelloWorld 0x00638d73 0x51000 + 6192499
18 HelloWorld 0x006414e9 0x51000 + 6227177
19 HelloWorld 0x005d3bb3 0x51000 + 5778355
20 HelloWorld 0x0030aa21 0x51000 + 2857505
21 HelloWorld 0x001e991d 0x51000 + 1673501
22 HelloWorld 0x001ea153 0x51000 + 1675603
23 HelloWorld 0x001eb2c9 0x51000 + 1680073
24 HelloWorld 0x003213db 0x51000 + 2950107
25 HelloWorld 0x0031fd21 0x51000 + 2944289
26 HelloWorld 0x0023bf57 0x51000 + 2010967
27 HelloWorld 0x002d4bcb 0x51000 + 2636747
28 HelloWorld 0x002c778b 0x51000 + 2582411
29 HelloWorld 0x002cd993 0x51000 + 2607507
30 HelloWorld 0x004dffff 0x51000 + 4780031
31 HelloWorld 0x000a80d3 0x51000 + 356563
32 HelloWorld 0x006c9a43 0x51000 + 6785603
33 HelloWorld 0x0075e211 0x51000 + 7393809
34 libsystem_pthread.dylib 0x376e1e91 _pthread_body + 137
35 libsystem_pthread.dylib 0x376e1e03 _pthread_start + 115
36 libsystem_pthread.dylib 0x376dfb8c thread_start + 4
这可能是由于切换到 new Codename One VM 而导致的回归。您可以通过使用构建参数 ios.newVM=false
遵循 post 中建议的临时解决方法,但是如果您有一个使新 VM 崩溃的简单测试用例,我建议您在问题跟踪器中提交一个问题。
将我的第一个应用程序发送到我的 iPhone 后,我发现在使用导航命令或按钮操作事件导航时它会反复崩溃,而模拟器不会。
我无法从崩溃报告(下面的片段)中确定原因是什么,想知道我应该如何进行调试。我看到线程 2 触发了它(崩溃)并且是一些无效地址或其他什么?任何指针将不胜感激。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000021
Triggered by Thread: 2
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x376514f0 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x376512e5 mach_msg + 37
2 CoreFoundation 0x297fd317 __CFRunLoopServiceMachPort + 143
3 CoreFoundation 0x297fb8bd __CFRunLoopRun + 1013
4 CoreFoundation 0x297493bd CFRunLoopRunSpecific + 473
5 CoreFoundation 0x297491cf CFRunLoopRunInMode + 103
6 GraphicsServices 0x30b070a5 GSEventRunModal + 133
7 UIKit 0x2cd58f9d UIApplicationMain + 1437
8 HelloWorld 0x0067fc9b 0x51000 + 6483099
9 HelloWorld 0x000aa8bb 0x51000 + 366779
10 HelloWorld 0x002c352f 0x51000 + 2565423
11 HelloWorld 0x0076103d 0x51000 + 7405629
12 HelloWorld 0x00761097 0x51000 + 7405719
13 libdyld.dylib 0x3759eaad start + 1
Thread 1:
0 libsystem_kernel.dylib 0x37664b38 __psynch_cvwait + 24
1 libsystem_pthread.dylib 0x376e13f5 _pthread_cond_wait + 517
2 libsystem_pthread.dylib 0x376e2319 pthread_cond_timedwait + 41
3 HelloWorld 0x0075dd77 0x51000 + 7392631
4 HelloWorld 0x006af513 0x51000 + 6677779
5 HelloWorld 0x006c8e21 0x51000 + 6782497
6 HelloWorld 0x006c9a43 0x51000 + 6785603
7 HelloWorld 0x0075e211 0x51000 + 7393809
8 libsystem_pthread.dylib 0x376e1e91 _pthread_body + 137
9 libsystem_pthread.dylib 0x376e1e03 _pthread_start + 115
10 libsystem_pthread.dylib 0x376dfb8c thread_start + 4
Thread 2 Crashed:
0 HelloWorld 0x00726d99 0x51000 + 7167385
1 HelloWorld 0x0071f625 0x51000 + 7136805
2 HelloWorld 0x0071f28d 0x51000 + 7135885
3 HelloWorld 0x0071ebc9 0x51000 + 7134153
4 HelloWorld 0x000d2db5 0x51000 + 531893
5 HelloWorld 0x002e89db 0x51000 + 2718171
6 HelloWorld 0x002f11bf 0x51000 + 2752959
7 HelloWorld 0x0044ad11 0x51000 + 4168977
8 HelloWorld 0x00250247 0x51000 + 2093639
9 HelloWorld 0x00276cb5 0x51000 + 2251957
10 HelloWorld 0x00276dd3 0x51000 + 2252243
11 HelloWorld 0x0030b8d1 0x51000 + 2861265
12 HelloWorld 0x002d7ec9 0x51000 + 2649801
13 HelloWorld 0x0030b721 0x51000 + 2860833
14 HelloWorld 0x0030b17d 0x51000 + 2859389
15 HelloWorld 0x0063b9a3 0x51000 + 6203811
16 HelloWorld 0x006349d5 0x51000 + 6175189
17 HelloWorld 0x00638d73 0x51000 + 6192499
18 HelloWorld 0x006414e9 0x51000 + 6227177
19 HelloWorld 0x005d3bb3 0x51000 + 5778355
20 HelloWorld 0x0030aa21 0x51000 + 2857505
21 HelloWorld 0x001e991d 0x51000 + 1673501
22 HelloWorld 0x001ea153 0x51000 + 1675603
23 HelloWorld 0x001eb2c9 0x51000 + 1680073
24 HelloWorld 0x003213db 0x51000 + 2950107
25 HelloWorld 0x0031fd21 0x51000 + 2944289
26 HelloWorld 0x0023bf57 0x51000 + 2010967
27 HelloWorld 0x002d4bcb 0x51000 + 2636747
28 HelloWorld 0x002c778b 0x51000 + 2582411
29 HelloWorld 0x002cd993 0x51000 + 2607507
30 HelloWorld 0x004dffff 0x51000 + 4780031
31 HelloWorld 0x000a80d3 0x51000 + 356563
32 HelloWorld 0x006c9a43 0x51000 + 6785603
33 HelloWorld 0x0075e211 0x51000 + 7393809
34 libsystem_pthread.dylib 0x376e1e91 _pthread_body + 137
35 libsystem_pthread.dylib 0x376e1e03 _pthread_start + 115
36 libsystem_pthread.dylib 0x376dfb8c thread_start + 4
这可能是由于切换到 new Codename One VM 而导致的回归。您可以通过使用构建参数 ios.newVM=false
遵循 post 中建议的临时解决方法,但是如果您有一个使新 VM 崩溃的简单测试用例,我建议您在问题跟踪器中提交一个问题。