Can you send a backtrace of the crash („bt“ command in LLDB)?

> Am 13.07.2023 um 05:41 schrieb bellabs <bell...@163.com>:
> 
> Thanks for the reminder again, the reason I couldn't run lldb's before was 
> because the version of python I installed didn't match, now it works fine! I 
> get the following error using the lldb debugger:
> (lldb) Process 2444 launched: 'C:\demo/test.exe' (x86_64)
> Process 2444 stopped
> * thread #1, stop reason = Exception 0xc0000005 encountered at address 
> 0x7ff88ae8d14a: Access violation reading location 0x000001a0
>     frame #0: 0x00007ff88ae8d14a objc.dll`objc_msgSend + 70
> objc.dll`objc_msgSend:
> ->  0x7ff88ae8d14a <+70>: movq   0x8(%r10,%rbx,8), %r10
>     0x7ff88ae8d14f <+75>: movzbl %al, %ebx
>     0x7ff88ae8d152 <+78>: movq   -0x8(%rsp), %rax
>     0x7ff88ae8d157 <+83>: movq   0x8(%r10,%rbx,8), %r10
> 
> 
> Based on the debugging information I've determined that it's because of a 
> pointer error, but I've checked that my code doesn't use pointers 
> incorrectly, and the debugging information mentions objc_xxx, which suggests 
> that it's an error in the objc itself possiblely. After testing the objc_ 
> related runtime function really does not work properly, the test code and 
> test results are as follows:
> @interface LayoutManager : NSObject
> - (void)display;
> @end
> 
> @implementation LayoutManager
> - (void)display {
>       printf("LayoutManager::display\n");
> }
> @end
> 
> void test() {
> 
> }
> 
> int main() {
>       // LayoutManager *relative = [[LayoutManager alloc]init];
>       // [relative display];  
> 
>       id aClassFromName = objc_getClass("LayoutManager");
>       NSLog(@"aClass = %@", aClassFromName); //! null
>       id aClassFromClass = [NSArray class]; //! error
>       NSLog(@"aClass = %@", aClassFromClass); // Never go through here.
> 
>       return 0;
> }
> 
> China Guy.

Reply via email to