VS2015编辑C语言时出现这个,KernelBase.dll,已经设置了工具的选项,启用了服务器支持和符号服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2015编辑C语言时出现这个,KernelBase.dll,已经设置了工具的选项,启用了服务器支持和符号服务器相关的知识,希望对你有一定的参考价值。
之前是其它DLL都显示查找不到的,之后重复了几次下载,就只剩这个DLL找不到了,但是在对应文件夹里又有相应的这个DLL,我该怎么办?我使用的是64位WIN10系统。
像这种情况,先看项目名称如:测试。exe
再看执行命令如:已加载或已卸载
再看文件路径如:C:\\windows\\syswow64\\kernelbase.dll
最后看后面的进程提示如:已加载符号或无法查找或打开PDB文件
最后的一般都是执行结果和问题反馈
~追问
嗯嗯,请问我应该怎么做才能解决这个问题呢??麻烦您了!
本回答被提问者采纳编辑可执行文件代码时出现分段错误
【中文标题】编辑可执行文件代码时出现分段错误【英文标题】:Segmentation Fault when editing code of executable file 【发布时间】:2020-03-04 17:10:56 【问题描述】:从事网络安全项目:
在 c 中编辑 .exe 文件的代码时,可以编辑其他 exe 文件的代码,但不能编辑 exe 文件本身。它会导致分段错误。
有没有办法解决这个问题?
产生分段错误的代码:
沙盒.c
#include <stdio.h>
int main()
FILE *fp2 = fopen("sandbox", "r+");
char cbuffer [100000];
int exe_len = fread(cbuffer, 1, sizeof(cbuffer), fp2);
fwrite (cbuffer , sizeof(char), sizeof(cbuffer), fp2);
static char a[10000] = "hello goodbye";
printf("%s\n", a );
return 0;
不会出错的代码,还有 sandbox.c:
#include <stdio.h>
int main()
FILE *fp2 = fopen("readme", "r+");
char cbuffer [100000];
int exe_len = fread(cbuffer, 1, sizeof(cbuffer), fp2);
fwrite (cbuffer , sizeof(char), sizeof(cbuffer), fp2);
static char a[10000] = "hello goodbye";
printf("%s\n", a );
return 0;
Error: Segmentation fault (core dumped)
【问题讨论】:
也许你需要检查fopen()
是否返回一个空指针,这意味着它打开文件失败。另外,请确保您获得了该文件的正确权限。
刚刚检查过了。它确实返回了一个空指针!
【参考方案1】:
无法打开当前以 'r+' 模式运行的 exe 文件。这就是为什么当打开另一个名称的第二个文件时,它会产生 Seg Fault。而是做以下工作:
用不同的名称保存文件,然后使用 mv 更新名称并使用 chmod 生成可执行文件:
FILE *fp3 = fopen("x.x","w+");
fwrite (ebuffer , sizeof(char), sizeof(ebuffer), fp3);
fclose(fp3);
system("mv x.x readme; chmod +x readme");
这最终解决了。这需要#include <stdlib.h>
【讨论】:
以上是关于VS2015编辑C语言时出现这个,KernelBase.dll,已经设置了工具的选项,启用了服务器支持和符号服务器的主要内容,如果未能解决你的问题,请参考以下文章
使用 VS 2015 打开 VS 2017 项目时出现语法错误 [重复]
在VS2019里C语言编程引用结构体变量时出现E0070等错误,如何修改不会出现报错?
在 VS 2015 和 VS 2013 上运行同一段代码时出现问题