小编Log*_*rat的帖子

尝试使用 MSVC 附加到 Inno-Setup 进程来调试 DLL

我对 Inno Setup 中的 Pascal 脚本很满意。我的安装脚本调用我使用 MSVC 2010 用 C++ 编写的 DLL 中的一些入口点。我尝试使用 MSVC 调试器单步调试 DLL 中的 C++ 代码。

因此,我在管理员模式下启动 MSVC,并在 Inno Setup 中运行安装程序,直到 Inno Setup 在 Pascal 代码中遇到断点。然后,在 MSVC 中,从“调试”菜单中使用“附加进程...”将 MSVC 调试器附加到 Inno Setup 中的相关进程,并设置断点。我发现四个相关进程,其中两个需要管理员权限,另外两个需要管理员权限。我附上所有四个。

这就是事情变得不稳定的地方。即使附加了进程,我在 C++ DLL 代码中的断点都变成了空圆圈,而且果然,即使当我使用 Inno Setup 的调试器单步执行或进入对我的 DLL 的调用时,它们也永远不会被命中。那么,我在这里做错了什么?我只想让 MSVC 调试器在我的 DLL 中命中断点。

四个相关进程中的两个具有“.exe”扩展名,两个具有“.tmp”扩展名。我可能只需要一个,但我不确定是哪一个。

c++ inno-setup visual-studio-2010

7
推荐指数
0
解决办法
69
查看次数

for_each() 函数的参数似乎是错误的类型

当我遇到这个问题时,我正在做一些关于 Exercism 的编程练习。我不清楚为什么设置的关闭类型for_each()很重要。

这是整个 Rust 程序:

use std::collections::HashSet;

// reformat(word) returns a tuple mapping its argument to (lowercase, sorted_lowercase)
fn reformat(word: &str) -> (String,String) {
    let lower = word.to_lowercase();
    let mut char_vec : Vec<char> = lower.chars().collect();
    char_vec.sort_unstable();
    let sorted : String = char_vec.iter().collect();
    (lower,sorted)
}

// Items in 'possible_anagrams' will be added to the set if they contain all of the
// same characters as 'word' but arranged in a different order.
fn anagrams_for<'a>(word: &str, possible_anagrams: &'a [&str]) …
Run Code Online (Sandbox Code Playgroud)

rust

2
推荐指数
1
解决办法
148
查看次数

标签 统计

c++ ×1

inno-setup ×1

rust ×1

visual-studio-2010 ×1