c# - 无法调试在 C# 中加载的 C++ dll
问题描述
我想调试一个用 C++ 制作的 dll,而它位于一个使用发布模式的 C# 构建的可执行文件中。C# 应用程序应该不知道。运行 C# 应用程序后,我可以手动注入当前打开另一个窗口的 dll(所以我知道这是成功的)
我在 VS2019 中以调试模式构建了 dll。我去Debug > Attach to Process
。当我放一个断点时,它说我不会因为未加载符号而被击中。注射后他们确实没有被击中。dll没有出现在Debug > Windows > Modules
我尝试了相同的任务,但这次是notepad.exe
作为目标而不是我的 C# 应用程序。它完美无缺。我猜记事本是用 C++ 或 C 而不是 C# 构建的
不接触 C# 项目就无法调试我注入的 C++ dll 吗?
解决方案
推荐阅读
- php - 忽略 array_merge 中的空字符串
- java - 需要将char转为小写并在Java中替换
- html - 在不同高度的dom底部设置输入框
- mongodb - Mongo-Express 容器可以使用 TLS 连接到 MongoDB 吗?
- sql-server - 触发器未发生 T-SQL 存储过程更新
- javascript - 如何确保 TCP 服务器始终在 VM 上运行(谷歌云)
- c++ - 如何在for循环中创建自动迭代,它将为其分配指针而不是值
- powershell - Powershell - 试图获取批量用户的描述字段
- homebrew - 收到“没有这样的文件或目录”错误消息时如何从 brew 中删除 virtualbox
- terminal - Cloudflare 牧马人安装