console改windows

本文介绍如何将程序从控制台模式转换为Windows模式,并在程序崩溃时生成转储文件进行调试,同时提供了DUMP文件生成的相关代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不出现命令行界面


在项目的属性页,“配置属性”/“链接器”/“系统”中“子系统”选择“Windows(/SUBSYSTEM:WINDOWS)原先为“控制台(/SUBSYSTEM:CONSOLE)”


在“高级”选项中添加“入口点”,手工编辑输入mainCRTStartup。。




 //添加DUMP文件生成

#ifdef WIN32
#include "DbgHelp.h"
#include   <windows.h> 
#pragma comment( lib, "dbghelp")
#endif // WIN32



long   __stdcall   callback_func(_EXCEPTION_POINTERS*   excp)   
{   
HANDLE hFile = ::CreateFile( _T(".\\Rstp_Server_Dumpfile.dmp"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if( hFile != INVALID_HANDLE_VALUE)
{
MINIDUMP_EXCEPTION_INFORMATION einfo;
einfo.ThreadId = ::GetCurrentThreadId();
einfo.ExceptionPointers = excp;
einfo.ClientPointers = FALSE;


::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &einfo, NULL, NULL);
::CloseHandle(hFile);
}
return EXCEPTION_EXECUTE_HANDLER;
}


int main(int argc, char** argv) {

#ifdef WIN32
//添加DUMP,程序崩溃时调试用
SetUnhandledExceptionFilter(callback_func); 
#endif // WIN32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值