当前位置: 首页 > news >正文

通化市网站建设_网站建设公司_JavaScript_seo优化

元器件商城网站建设,免费兼职一单一结,中山市做网站,wordpress特定页面重定向最近在尝试使用Visual Studio 2022远程连接Linux进行C/C的开发#xff0c;由于CentOS风波不断#xff0c;所以现在的开发基本上都是使用ubuntu了#xff0c;但是目前VS2022有一些BUG#xff0c;就是远程调试时#xff0c;如果目标系统是ubuntu则会出现启动调试器很慢的问题…最近在尝试使用Visual Studio 2022远程连接Linux进行C/C的开发由于CentOS风波不断所以现在的开发基本上都是使用ubuntu了但是目前VS2022有一些BUG就是远程调试时如果目标系统是ubuntu则会出现启动调试器很慢的问题基本上要超过20秒甚至更久笔者试过几个ubuntu系统了不管是实体机虚拟机还是容器只要是ubuntu系统都存在这样的问题向MS提了BUG了官方还在考虑中不知道是否修复啥时候修复。 CentOS系统则不存在很慢的问题所以笔者在容器中安装了CentOS7由于CentOS系统对软件的更新是比较慢的所以想要使用C的新特性比如C17甚至C20则需要自己安装新的编译器和调试器。 笔者在CentOS7安装了最新的GCC13.2、GDB13.2和llvm 16.0.6(包括clang、lld、lldb等)。使用下来GCC以及GDB都没发现问题clang/clang编译链接也没发现问题只有lldb在调试时报了personality set failed: Function not implemented查看lldb的源码发现是在文件source\Host\posix\ProcessLauncherPosixFork.cpp:69的DisableASLR函数报的错误源码 static void DisableASLR(int error_fd) { #if defined(__linux__)const unsigned long personality_get_current 0xffffffff;int value personality(personality_get_current);if (value -1)ExitWithError(error_fd, personality get);value personality(ADDR_NO_RANDOMIZE | value);if (value -1)ExitWithError(error_fd, personality set); #endif }即执行personality(ADDR_NO_RANDOMIZE | value)失败关于personalityA tour of Linux syscall personality有一个简单的介绍。 lldb报personality set failed: Function not implemented即是personality函数没有实现。可以写一个简单的程序 #include stdlib.h #include iostream #include sys/personality.hstatic void ExitWithError(int error_fd,const char* operation) {int err errno;std::cout strerror(err) std::endl;exit(1); }int main() {int error_fd 0;const unsigned long personality_get_current 0xffffffff;int value personality(personality_get_current);if (value -1)ExitWithError(error_fd, personality get);value personality(ADDR_NO_RANDOMIZE | value);if (value -1)ExitWithError(error_fd, personality set);return 0; }来进行测试。 personality函数的实现是在glibc中CentOS7的glibc是2.17版本的 Ubuntu的glibc是2.35的比较新目前最新的glibc是2.38经过测试没这样的问题所以CentOS7的版本是太老了。 可能有读者想到了升级glibc可是可以但是风险非常大因为glibc是整个系统非常基础的库一旦出问题则会导致系统崩溃。笔者就在容器中尝试升级到2.38发现编译不过报错../sysdeps/x86_64/multiarch/memchr-evex-base.S:229: Error: no such instruction: vpcmpneqb (64 * 4)(%rdi),%zmm17,%k12.36、2.37都是这样的错。2.35在添加了参数--disable-werror后编译通过了但是安装后常用的命令都不能使用了不兼容系统崩溃不能再启动。所以一定要慎重升级glibc库特别是物理机上。 在lldb源码source\Commands\CommandObjectProcess.cpp:188中有提到使用settings target.disable-aslr来进行开关即在lldb中先执行settings set target.disable-aslr 0即可 不能每次都手动输入为了方便可以将命令写入到~/.lldbinit文件中每次lldb启动时自动执行。 转载请标明出处。
http://www.ihoyoo.com/news/89834.html

相关文章:

  • 不做百度推广网站关键词被屏蔽百度关键词排名联系
  • 万网有网站建设吗谷歌有做网站建设
  • 设计可以在哪个网站接单衡水市住房和城乡建设局网站
  • 一个网站可以做几个关键词如何做网站效果图
  • 在哪个网站做简历比较好aspnet网站开发选择题
  • 网站链接改名怎做301朝阳免费网站制作
  • 网站建设忄金手指快速县城服务网站如何做
  • 网站建设与维护 国赛网页网站怎么做的吗
  • 诸暨公司网站建设折腾wordpress
  • 校园门户网站系统建设方案苏州高新区网站建设
  • 广州建设银行保安招聘网站资深的网站推广
  • 莆田建设项目环境网站乾安网站建设公司电话
  • wordpress hppts手机网站建设优化软件
  • 怎样免费建公司网站初中生可做兼职的网站
  • 教育集团网站建设的目的抄袭别人网站的前端代码合法吗
  • 大连哪家公司做网站比较好个人网站设计怎么做
  • 个人网站如果做seo工具下载
  • 徐州建站模板公司怎么让自己的网站通过域名访问
  • 怎么建设网站让国外看苏州工作平台有哪些公司
  • 专业做甜点的网站网站做可信认证多少钱
  • 常州手机网站建设可以发布商品的免费平台
  • 江苏林润建设工程有限公司网站创建官方网站网址
  • 北京网站建设怎么样wordpress更换网站数据库
  • 嘉兴做网站建设dw做网站步骤
  • 专业的扬州网站建设客厅装修风格
  • 自己搭建服务器访问国外网站企业品牌网站设计
  • 什么是网站交互wordpress图片文件夹
  • 酷维网站模版网站顶端大图怎么做
  • 怎样登录沈阳科技网站网页游戏传奇图片
  • 凡客建站网网上商城推广