【问题标题】:Missing ouptut in exe fileexe文件中缺少输出
【发布时间】:2015-06-26 23:38:15
【问题描述】:

我正在使用以下 C++ 代码输入 X 值,该值用于打印出变量 CDF。预计此 C++ 代码将提供与我们从 excel 中的 NORMDIST 函数获得的非常相似的值。但是,我在调试器中出现以下错误,而没有在可执行文件中获得任何输出。请问有什么机构可以帮忙吗?

#include<iostream>
#include<cmath>
using namespace std;
const double pi = 4.0*atan(1.0);
int main()
{
  const double a1 = 0.319381530, a2 = -0.356563782, a3 = 1.781477937, 
  a4 = -1.821255978, a5 = 1.330274429;
  double X = 0, x = 0; double k = 0;
  double N, CDF, n;
  cout << "Enter the value of the random variable X" << endl;
  cin >> X;
  x = fabs(X);
  k = 1 / (1 + 0.2316419*x);
  n = (1 / sqrt(2 * pi))*exp(-0.5*x*x);
  N = 1 - n*(a1*k + a2*k*k + a3*pow(k, 3) + a4*pow(k, 4) + a5*pow(k, 5));
  CDF = N;
  if (X < 0)
    CDF = 1 - N;
 cin.clear();
 cout << CDF;
 cin.get();
  return 0;
}

我 CDF1.exe 用于输出,例如 X= 0.7693 作为输入,我期待 0.7791 但我在 CDF1.exe 中看不到任何输出,我只是在调试器中看到下面。谁能帮忙解决一下问题?

'CDF1.exe' (Win32): 加载'C:\Users\kdatta\Documents\CQF\C++\CDF1 Debug\CDF1.exe'。已加载符号。 “CDF1.exe”(Win32):加载“C:\Windows\SysWOW64\ntdll.dll”。无法找到或打开 PDB 文件。 “CDF1.exe”(Win32):已加载“C:\Windows\SysWOW64\kernel32.dll”。无法找到或打开 PDB 文件。 “CDF1.exe”(Win32):已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法找到或打开 PDB 文件。 “CDF1.exe”(Win32):已加载“C:\Windows\SysWOW64\msvcp120d.dll”。无法找到或打开 PDB 文件。 “CDF1.exe”(Win32):已加载“C:\Windows\SysWOW64\msvcr120d.dll”。无法找到或打开 PDB 文件。 线程 0x4fc0 已退出,代码为 -1073741749 (0xc000004b)。 程序“[11216] CDF1.exe”已退出,代码为 -1073741510 (0xc000013a)。

【问题讨论】:

  • 谷歌搜索退出代码时,我发现:当按下 Control+C 键时进程退出时返回退出代码。值:0xC000013A - 听起来合理吗?您是否尝试过单步执行代码?
  • 不。程序提示输入 X 的值。一旦我输入 X 的值,它似乎就退出了。不知道为什么?
  • 就像我说的...尝试单步执行代码。然后你就会知道它走了多远。

标签: debugging visual-c++


【解决方案1】:

问题是在调试模式下代码会立即返回,而您看不到结果。当您处于调试模式时,您必须强制程序暂停。你可以把system("pause")

#include<iostream>
int main()
{
  std::cout << "hello world\n";

#ifdef _DEBUG
  system("pause");
#endif

  return 0;
}

PDB 文件包含调试信息。这些是警告而不是错误。尝试通过重建项目来摆脱它们。

另外,点击项目 -> 属性,确保你有这些设置:

C/C++ -&gt; General -&gt; Program Database for Edit And Continue (/ZI)

Linker -&gt; Debugging -&gt; Generate Debugging Info = Yes

【讨论】:

    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多