1
我在我的一个Objective-C项目中使用了JavaScriptCore,并且我想随时知道什么是当前文件&当陷入JS回调。没有记录的API和标题
没有办法与public headers做到这一点,所以我把一看sources,似乎可以通过使用一些C++代码访问文件&线。
// ctx is a JSContextRef, that's the only type I have an access to
JSC::JSValue jsCtx = toJS(ctx);
CodeBlock* codeBlock = jsCtx->codeBlock();
// Line
unsigned sourceOffset = codeBlock->sourceOffset();
// Source URL
SourceProvider* sourceProvider = codeBlock->source();
const String& url = sourceProvider->url();
它显然需要的JSC
,JSValue
,CodeBlock
,并且SourceProvider
的定义。我把所有这些放在单独的标题中,但它确实很庞大。
- 我应该直接包含这些头文件吗?
- 如果这些文件需要其他头文件怎么办?我可能会有多个头,我不会使用。
- 让我们忘记内部源代码可能会改变:我甚至想做甚么?
感谢Sunil,但我想随时获得堆栈跟踪,不仅在发生异常之后。所以当一个本地C函数被绑定到JS上下文中并且调用了这个函数时,我想知道什么时候调用了它。 –
我明白你的意思了。 –