Visual Studio 调试器高级功能:JustMyCode 使用教程_2024-07-23_05-23-23.Tex

Visual Studio 调试器高级功能:JustMyCode 使用教程

Visual Studio Debugger: 调试器高级功能 - JustMyCode

介绍

JustMyCode 的概念

JustMyCode 是Visual Studio调试器的一项高级功能,旨在提高开发人员的调试效率。在传统的调试过程中,开发人员可能会遇到一个常见问题:当应用程序调用第三方库或框架的代码时,调试器会自动跳转到这些外部代码中,这不仅打断了开发人员的调试流程,还可能因为第三方代码的复杂性而使调试变得困难。JustMyCode 功能通过只在开发人员编写的代码上设置断点,避免了这一问题,从而让调试过程更加聚焦于自己的代码。

JustMyCode 的优势

  • 提高调试效率JustMyCode 通过忽略第三方库的代码,减少了调试过程中的干扰,使开发人员能够更快地定位和解决问题。
  • 减少调试中断:在调试过程中,开发人员不再需要频繁地从第三方代码中跳回自己的代码,这有助于保持调试的连贯性和专注度。
  • 简化调试体验JustMy
Maximum nr of vertex attributes supported: 29 ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR::PROGRAM_LINKING_ERROR of type: PROGRAM Vertex shader(s) failed to link, fragment shader(s) failed to link. Vertex link error: INVALID_OPERATION. ERROR: error(#97) No program main found fragment link error: INVALID_OPERATION. ERROR: error(#97) No program main found -- --------------------------------------------------- -- ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR::PROGRAM_LINKING_ERROR of type: PROGRAM Vertex shader(s) failed to link, fragment shader(s) failed to link. Vertex link error: INVALID_OPERATION. ERROR: error(#97) No program main found fragment link error: INVALID_OPERATION. ERROR: error(#97) No program main found -- --------------------------------------------------- -- ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR::PROGRAM_LINKING_ERROR of type: PROGRAM Vertex shader(s) failed to link, fragment shader(s) failed to link. Vertex link error: INVALID_OPERATION. ERROR: error(#97) No program main found fragment link error: INVALID_OPERATION. ERROR: error(#97) No program main found -- --------------------------------------------------- -- ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR::PROGRAM_LINKING_ERROR of type: PROGRAM Vertex shader(s) failed to link, fragment shader(s) failed to link. Vertex link error: INVALID_OPERATION. ERROR: error(#97) No program main found fragment link error: INVALID_OPERATION. ERROR: error(#97) No program main found -- --------------------------------------------------- --
最新发布
10-31
你遇到的错误信息非常关键,我们来**逐条解释并给出解决方案**。你现在的问题是: --- ## ❌ 主要错误日志分析 ```text ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR::PROGRAM_LINKING_ERROR of type: PROGRAM Vertex shader(s) failed to link, fragment shader(s) failed to link. Vertex link error: INVALID_OPERATION. ERROR: error(#97) No program main found ``` ### 🔍 拆解这些错误的意思: | 错误 | 含义 | |------|------| | `FILE_NOT_SUCCESFULLY_READ` | 程序尝试读取 `.vert` 或 `.frag` 文件失败 → 文件不存在或路径不对 | | `No program main found` | 着色器代码中没有 `main()` 函数!或者根本没加载到内容 | | `Vertex/Fragment shader failed to link` | 因为没读到文件,编译为空,链接失败 | > ✅ **根本原因:你的程序找不到 `star.vert` 和 `star.frag` 文件!** --- ## ✅ 解决方案(一步一步) ### ✅ 第一步:确认着色器文件存在 你需要两个文件: - `star.vert` (顶点着色器) - `star.frag` (片段着色器) 👉 它们必须放在你的 **可执行文件 `.exe` 所在目录下**。 例如: ``` Debug/ ├── Demo08.exe ├── star.vert ← 必须在这里 ├── star.frag ← 必须在这里 └── texture/ ├── sun.jpg └── earth.jpg ``` 🔧 **怎么做?** 1. 打开你的项目文件夹(比如 `Lab3-3/`) 2. 找到生成的 `.exe` 文件(通常在 `Debug/` 或 `Release/` 文件夹) 3. 把 `star.vert` 和 `star.frag` 复制到这个文件夹里! --- ### ✅ 第二步:检查文件内容是否正确 打开 `star.vert`,确保内容类似这样: #### 📄 `star.vert` ```glsl #version 330 core layout(location = 0) in vec3 aPos; layout(location = 1) in vec3 aColor; layout(location = 2) in vec2 aTextCoord; out vec2 TexCoord; out vec4 color; uniform mat4 model; uniform mat4 view; uniform mat4 projection; void main() { gl_Position = projection * view * model * vec4(aPos, 1.0); TexCoord = aTextCoord; color = vec4(aColor, 1.0); } ``` #### 📄 `star.frag` ```glsl #version 330 core in vec2 TexCoord; in vec4 color; out vec4 FragColor; uniform sampler2D tex; void main() { FragColor = texture(tex, TexCoord); // * color; } ``` > ⚠️ 注意: - 必须有 `#version 330 core` - 必须有 `void main()` - 不要有拼写错误(如 `Main` 大写不行,必须是 `main`) --- ### ✅ 第三步:设置正确的“工作目录” Visual Studio 默认的工作目录可能不是 `.exe` 所在目录,导致程序找不到文件。 🔧 **修复方法:** 1.Visual Studio 中右键点击你的项目 → “属性” 2. 左侧选择:“调试” 3. 找到“工作目录”,改为: ``` $(OutDir) ``` 或者 ``` .\ ``` ✅ 这样程序运行时就会从 `.exe` 所在目录找文件了。 --- ### ✅ 第四步:验证文件是否真的被读取 你可以修改 `Shader` 类中的构造函数,在读取文件前加打印: ```cpp try { vShaderFile.open(vertexPath); if (!vShaderFile.is_open()) { std::cout << "无法打开顶点着色器文件: " << vertexPath << std::endl; return; } ... } ``` 如果看到这句输出,说明文件路径错了。 --- ### ✅ 第五步:不要用相对路径别名 你现在这样创建对象: ```cpp new Cube18("star.vert", "star.frag", "cube"); ``` 但有些人会写成 `"./shaders/star.vert"`,如果你没建 `shaders/` 文件夹也会失败。 👉 最简单的方法就是把 `star.vert` 和 `star.frag` 直接放在 `.exe` 同级目录。 --- ## ✅ 总结:你现在该做什么? | 步骤 | 操作 | |------|------| | 1 | 创建 `star.vert` 和 `star.frag` 两个文本文件 | | 2 | 写入上面提供的正确 GLSL 代码 | | 3 | 把这两个文件复制到 `.exe` 所在文件夹(如 `Debug/`) | | 4 | 确保 Visual Studio 的“工作目录”设为 `$(OutDir)` | | 5 | 重新编译并运行程序 | 做完后,你应该不会再看到: ``` ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ ERROR: No program main found ``` 而是正常启动、渲染 3D 场景。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值