首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得wasm堆栈跟踪

如何获得wasm堆栈跟踪
EN

Stack Overflow用户
提问于 2021-09-13 02:49:05
回答 1查看 257关注 0票数 0

我在找gdb的东西--在组件上相当于核心。

举个例子:

代码语言:javascript
复制
//crash.cpp
#include <iostream>                                                                                                                                                             
int main() {                                                                                                                                                                    
    std::cout << "crashing soon..." << std::endl;                                                                                                                                          
    int *a = 0;                                                                                                                                                                 
    *a = 1;                                                                                                                                                                     
}                                                                                                                                                                               

我在以下几个方面进行了汇编:

代码语言:javascript
复制
$ em++ -g4 crash.cpp -o crash.html --source-map-base http://localhost:8080/

并启动服务器:

代码语言:javascript
复制
$ emrun --no_browser --port 8080 crash.html

那么,如何获得这个核心转储/崩溃的堆栈跟踪呢?在访问页面时,chrome/firefox上的控制台只显示一个js堆栈跟踪,这对我没有帮助。查看源代码,铬控制台上的=>调用堆栈在崩溃后只显示“未暂停”。这是在debian 11,emscripten 2.0.12~dfsg-2,clang-11上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-14 16:17:04

原因是您所做的并不是WebAssembly中的错误。与许多嵌入式平台一样,在WebAssembly内存模型中,向零指针写入或读取是一种非常有效的操作。

但是,Emscripten试图帮助您捕获C/C++ --这是一个常见的错误,因此它所做的是在程序完成执行后检查地址为零的值,如果该值碰巧被覆盖,则抛出一个有用的断言。由于这个原因,您将得到一个只包含JavaScript位的堆栈跟踪--因为检查是在JavaScript已经退出WASS堆栈时完成的。

如果您尝试了一个导致立即中止(例如assert(false) )的不同操作,那么您将看到堆栈上的WebAssembly和/或C/C++如预期的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69156739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档