Comments (2)
/*
- By default, the pointer fields in the arm_thread_state64_t structure are
- opaque on the arm64e architecture and require the use of accessor macros.
- This mode can also be enabled on the arm64 architecture by building with
- -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1.
*/
#if defined(arm64) && defined(LP64)
#if __has_feature(ptrauth_calls)
#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 1
#define __DARWIN_PTRAUTH_ARM_THREAD_STATE64 1
#endif /* __has_feature(ptrauth_calls) */
#ifndef __DARWIN_OPAQUE_ARM_THREAD_STATE64
#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0
#endif
#else /* defined(arm64) && defined(LP64) */
#undef __DARWIN_OPAQUE_ARM_THREAD_STATE64
#define __DARWIN_OPAQUE_ARM_THREAD_STATE64 0
#endif /* defined(arm64) && defined(LP64) */
库里的注释说明了在arm64e架构下需要开启_DARWIN_OPAQUE_ARM_THREAD_STATE64,开始天真的以为有__arm64__就会有__arm64e__。通过源码的调用方式修改一下属性就行了
`
uintptr_t bs_mach_framePointer(_STRUCT_MCONTEXT * const machineContext) {
#if __has_feature(ptrauth_calls)
return machineContext->__ss.__opaque_fp;
#else
return machineContext->__ss.__fp;
#endif
}
`
from bsbacktracelogger.
------------命令(xcodebuild build -workspace gen/App.xcworkspace -scheme XXX -configuration 'Debug' -sdk iphoneos -arch 'arm64e' SYMROOT='../../BuildTemp')执行错误------------
from bsbacktracelogger.
Related Issues (16)
- 想问下真机下堆栈输出 <redacted>,该如何拿到具体的地址? HOT 4
- 一个貌似重复判断的小问题
- arm架构下 这个宏DETAG_INSTRUCTION_ADDRESS为什么是这么定义的 HOT 1
- unsigned integer overflow HOT 1
- can host carthage?
- 为什么有时bs_imageIndexContainingAddress会返回UINT_MAX HOT 1
- bs_machThreadFromNSThread will cause mach port leak?
- 很多调用栈模块名没有识别出来 HOT 1
- arm64e iphone11之后怎么搞 HOT 2
- APP发布后如果用这个收集堆栈信息,在使用符号表解析可以吗 HOT 2
- _bs_backtraceOfThread这个方法里面经常崩溃EXC_BAD_INSTRUCTION HOT 10
- 循环一个子线程,第一次打印的堆栈有时候只有一条 HOT 1
- 请问下ios调用的c++库时的线程堆栈,能否打印出来? HOT 3
- 请问为什么不用系统提供的dladdr方法,而需要自己写一个fl_dladdr呢? HOT 4
- 获取到Thread堆栈信息后,还能做什么? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bsbacktracelogger.