地址清理程序不适用于 Windows 上的 bash

2023-11-25

目前在 Windows 上的 Ubuntu Bash 上运行 llvm、clang、clang-format 和 clang-modernize。我想使用谷歌发布的一套清理工具,包括地址、内存和线程清理。 fsanitize 选项似乎都不起作用。

以下是 ASAN 的代码示例:

#include <stdlib.h>
int main() {
  char *x = (char *)malloc(10 * sizeof(char *));
  free(x);
  return x[5];// purposely accessing deallocated memory
}

这是 Windows 上 bash 中的 clang 调用:

$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main

Results

==70==Sanitizer CHECK failed: build/buildd/llvm-toolchain-snapshot-3.5/projects/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc:211 ((IsOneOf(*current_, 's', 'p'))) != (0)(0,0)

我希望得到关于如何让它工作或者我是否缺少工具链的一部分或其他东西的建议。

如果做不到这一点,我想我将双启动 Ubuntu 或 Debian,因为 Windows 的 clang 缺少 std:out 支持等简单功能,尽管理想情况下我希望能够为 Windows 目标和 Linux 目标进行编译。我想避免双启动,因为 Ubuntu 无法挂载 Windows 存储空间,但它们似乎可以很好地服务于 Windows 上的 Ubuntu bash。


快速浏览一下源代码 - MemoryMappingLayout::Next -https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_procmaps_linux.cc- 问题似乎是 Windows 上 ubuntu 上的 bash 对 /proc 文件系统的支持不完整。

失败的代码正在查看 /proc/self/maps - 实际上 - 似乎是正确的。

但是我发现 /proc 中的其他东西(例如网络)在 bashonwindowsonunix 上完全损坏了 - 所以我很确定这部分是正在进行中的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

地址清理程序不适用于 Windows 上的 bash 的相关文章

  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • c# 从另一个类中的另一个静态事件引发事件

    需要帮助从另一个班级调用事件 我有已声明事件的课程 public class MxPBaseGridView GridView public event AddNewItemsToPopUpMenuEventHandler AddNewIt
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 在 C++11 中移出 stdpriority_queue 的元素

    最小的工作示例 include
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • 使用 OleDbCommandBuilder 时访问 SQL 语法错误

    我要在 C 中使用 OleDbDataAdapter 在 Access 数据库中插入数据 但收到错误消息INSERT INTO 命令中的语法错误 BackgroundWorker worker new BackgroundWorker Ol
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad

随机推荐

  • Sphinx 和 Markdown .md 链接

    我正在尝试使用 Sphinx 将 Markdown 文件转换为 html 但遇到问题 links another md 将被翻译成 a href another html links a 而是目标的扩展仍然是原始的 md并显示为 a hre
  • 在 Perl 中,@array[1] 和 $array[1] 有什么区别?

    我一直在研究数组切片坦率地说 看不出选择之间的区别 array 1 and array 1 有区别吗 usr bin perl array 1 3 print nPrinting out full array array n print a
  • 在 mac osx 上注册协议?

    我已经在windows中完成了 如何在mac osx上注册协议 我想单击 Firefox 中的链接 a href somename mylinkAndData 并启动二进制文件 看看苹果的启动服务编程指南 你必须添加CFBundleURL类
  • C# 中 Overlapped PictureBox 的透明度问题

    我正在面板中显示PictureBox重叠 因为每个PictureBox用来 作为一层 第一次PictureBox已定义并添加到面板的背景颜色 是透明的 它的图像是空的 问题是 底层看不到 透明图像 显示的是 面板的接地 例外的是底部Pict
  • 在基于导航的应用程序中将背景图像添加到 UITableViewController

    我有一个基于导航的应用程序 我可以在其中推送UITableViewControllers到堆栈上 我想添加背景UImage致我所有的UITableViewControllers 不是一个UIColor 但是一个UImage 我知道如何使用N
  • Google Colaboratory 中的 openAI Gym NameError

    我刚刚在 Google Colab 上安装了 openAIgym 但是当我尝试运行 CartPole v0 环境时在这里解释 Code import gym env gym make CartPole v0 for i episode in
  • 在 yii2 中使用限制范围?

    我想使用从数据库获取数据限制 12 20 这是我的代码 Query new Query Query gt select um id as USERid um first name um last name um email COUNT g
  • 如何在git中查看旧版本的文件夹

    我需要从原点提取更改 问题是其中一个库已更新到最新版本 它使我的应用程序部分崩溃 我想提取最近的更改 然后返回到仅一个文件夹的先前 或特定 版本 其中包含导致该问题的 lib txt 文件 有什么办法可以做到这一点吗 git checkou
  • setMethod("$<-") 和 set setReplaceMethod("$") 有什么区别?

    Question 当编程时r与s4面向对象系统 当一个人必须使用setReplaceMethod 我不明白与setMethod添加时 lt 到函数的名称 做setMethod lt and setReplaceMethod 是平等的吗 文档
  • C# 中“get”和“set”属性的用途是什么

    我看到一些 get set 方法来设置值 谁能告诉我这样做的目的吗 public string HTTP USER NAME get return UserName set UserName value public string HTTP
  • TensorFlow 2.0 [条件 x == y 不按元素成立:]

    我正在使用 TensorFlow 2 和 Keras 训练国际象棋程序 以前 如果我在与模型训练相同的脚本中加载数据 我就可以完成这项工作 但随着数据集变得更大 腌制数据然后重新加载它会更快 当我这样做时 即使将模型修剪到一层以简化问题 我
  • 在 Node.js 中使用串口进行异步/等待

    使用 Node js 致力于 PC 和基于 Arduino 的硬件之间的通信 最后一个设备是用 G 代码实现的 所以如果我发送 G0 我将收到两行 一个用于确认已收到指令 第二个用于确认数据 我想使用 async await 但出了点问题
  • CORS:为什么我成功获得了预检选项,但发布后仍然出现 CORS 错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个使用 axios 发出 http 请求的 Vue 前端 以及一个使用express 的 Node 后端 它们位于不同的域 本地运行时 BE端口是3080 FE端口是3
  • 为什么Java中的private static field = new Singleton不懒呢?

    我读了很多关于 Singleton 的文章 其中大多数作者都说 Java 中 Singleton 的这种变体 public class Singleton private static Singleton instance new Sing
  • 在某个元素之前添加元素

    我有这个代码 td div class imagebutton abc div td 我想在这段代码中添加另一个元素 如下所示 p blablablalblablab p td div class imagebutton abc div t
  • 如何判断 Perl 脚本是否在 CGI 上下文中执行?

    我有一个 Perl 脚本 它将从命令行作为 CGI 运行 从 Perl 脚本中 我如何知道它是如何运行的 最好的选择是检查GATEWAY INTERFACE环境变量 它将包含服务器正在使用的 CGI 协议的版本 这几乎总是CGI 1 1 T
  • 使用 VB 6 代码从任务管理器结束进程

    我需要粗略地终止一个应用程序 以便我可以在我的数据库中获得该应用程序的幻像订阅者 这不能通过关闭应用程序来产生 手动地 如果我们从任务管理器终止应用程序 幻影订阅者将存在 现在我需要在 VB 6 代码中自动完成它 帮助 谢谢 有两种方法 S
  • 使用 download.file() 从 HTTPS 下载文件

    我想使用 R 读取在线数据download file 如下所示 URL lt https d396qusza40orc cloudfront net getdata 2Fdata 2Fss06hid csv download file UR
  • C(非 C++)有限域(伽罗瓦域)线性代数库

    我正在寻找一个有限域 伽罗瓦域C 的精确线性代数库 C 是不可接受的 因为我需要能够编写一个 Haskell 绑定到它 这显然是C 很难 我找到了类似的图书馆FFLAS FFPACK and Givaro但这些是 C 模板库 In part
  • 地址清理程序不适用于 Windows 上的 bash

    目前在 Windows 上的 Ubuntu Bash 上运行 llvm clang clang format 和 clang modernize 我想使用谷歌发布的一套清理工具 包括地址 内存和线程清理 fsanitize 选项似乎都不起作