当前位置: 首页 > news >正文

企业网站怎么做毕业设计wordpress页面添加水印

企业网站怎么做毕业设计,wordpress页面添加水印,建筑模板厂投资多少钱,湖南建设银行网站是多少钱文章目录 一、Pdb生成及Dump文件使用示例图1.Pdb文件生成2.Dump文件调试3.参数不全Pdb生成的Dump文件调试 二、个人理解1.生成Pdb文件的方式2.Dump文件不生产的情况 三、源码Pro文件mian.cppMainWindowUi文件 总结 一、Pdb生成及Dump文件使用示例图 1.Pdb文件生成 下图先通过… 文章目录 一、Pdb生成及Dump文件使用示例图1.Pdb文件生成2.Dump文件调试3.参数不全Pdb生成的Dump文件调试 二、个人理解1.生成Pdb文件的方式2.Dump文件不生产的情况 三、源码Pro文件mian.cppMainWindowUi文件 总结 一、Pdb生成及Dump文件使用示例图 1.Pdb文件生成 下图先通过构建生成Pdb文件然后运行程序通过提前准备的崩溃按钮使得程序崩溃生成“dump文件”的演示。 2.Dump文件调试 下图是先将之前生成的Pdb文件移动至dump文件同级目录然后使用Visual Studio打开dump文件在界面中点击使用’仅限本机’进行调试调试程序。 3.参数不全Pdb生成的Dump文件调试 下图使用的Pdb文件为是在缺少相关参数的状态下生成的只有生成Pdb文件的命令符可以看到打开后点击使用’仅限本机’进行调试调试程序显示的崩溃位置是异常的。 二、个人理解 1.生成Pdb文件的方式 我整合的的生成Pdb方式有多种如下 在Qt项目内容中配置添加CONFIG force_debug_info如下图参考Qt-生成dump文件该链接中还额外添加了CONFIGseparate_debug_info的内容但是我个人测试只添加CONFIG force_debug_info也可以调试测试测试范围不全面欢迎指正。注配置内容仅支持当前位置的项目更换项目或者更换位置都需要重新添加。 在pro文件添加CONFIG force_debug_info也可生成Pdb文件用于调试。注在Pro文件添加后该项目任意位置可生成Pdb文件。 在pro文件添加QMAKE_CXXFLAGS_RELEASE Q M A K E C F L A G S R E L E A S E W I T H D E B U G I N F O 和 Q M A K E L F L A G S R E L E A S E QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO和QMAKE_LFLAGS_RELEASE QMAKEC​FLAGSR​ELEASEW​ITHD​EBUGINFO和QMAKEL​FLAGSR​ELEASEQMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO可生成Pdb文件用于调试。**注在Pro文件添加后该项目任意位置可生成Pdb文件在添加QMAKE_LFLAGS_RELEASE $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO后是可以生成Pdb文件但是生成的Pdb文件会有异常可参考“第一段 第三节 参数不全Pdb生成的Dump文件调试效果”。**参考链接QT如何在Release编译下生成pdb文件 可更新Qt安装目录下对应编译器的msvc-desktop.conf文件更新QMAKE_CFLAGS_RELEASE为QMAKE_CFLAGS_RELEASE $$QMAKE_CFLAGS_OPTIMIZE -MD -O2 -MD -Zi如下图一更新QMAKE_LFLAGS_RELEASE为QMAKE_LFLAGS_RELEASE /INCREMENTAL:NO /DEBUG如下图二。 ** 注更新msvc-desktop.conf文件后当前编译器所编译的所有项目都会生成Pdb文件仅更新QMAKE_LFLAGS_RELEASE /INCREMENTAL:NO /DEBUG也可生成Pdb文件同样生成的Pdb文件会有异常可参考“第一段 第三节 参数不全Pdb生成的Dump文件调试效果”。**参考链接QT如何在Release编译下生成pdb文件 2.Dump文件不生产的情况 有些电脑中同一种状态不会崩溃可能是被Qt事件循环接收处理了。 如本文中的情况我个人在公司的电脑和我家的电脑运行就是只有一个生成Dump文件。 我个人测试无法生成Dump文件的电脑使用纯C的代码可进入指定的Dump生成函数只要进入Qt事件循环后就无法进入Dump生成函数猜测是被Qt事件循环接收处理了 三、源码 Pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11#################### 1 ######################### ## 在“Pro”文件中添下方代码后可生成PDB文件影响当前项目 ## 生成PDB PdbDumpTest.pdb PdbDumpTest.vc.pdb CONFIG force_debug_info#################### 2 ######################### ## 生成PDB PdbDumpTest.pdb #QMAKE_CXXFLAGS_RELEASE $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO #QMAKE_LFLAGS_RELEASE $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO#################### 3 ######################### ## 在“构建设置”中“Build的步骤”中的“Additional arguments”添下方代码后可生成PDB文件影响当前目录的当前项目 # CONFIG force_debug_info#################### 4 ######################### ## 在下方对应目录文件中参考如下更新文件的QMAKE_LFLAGS_RELEASE的赋值数据即可影响所有项目 ## C:\Qt\Qt5.xx.xx\5.xx.xx\msvc2017_64\mkspecs\common\msvc-desktop.conf #QMAKE_CFLAGS_RELEASE $$QMAKE_CFLAGS_OPTIMIZE -MD -O2 -MD -Zi #QMAKE_LFLAGS_RELEASE /INCREMENTAL:NO /DEBUG# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES \main.cpp \mainwindow.cppHEADERS \mainwindow.hFORMS \mainwindow.ui# Default rules for deployment. qnx: target.path /tmp/$${TARGET}/bin else: unix:!android: target.path /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS target mian.cpp #include mainwindow.h#include QApplication #include QDebug #include QDir #include QDateTime #include QSharedMemory #include QProcess #include QMessageBox#ifdef Q_OS_WIN #include Windows.h #include DbgHelp.h #pragma comment(lib, dbghelp.lib) #endifLONG WINAPI SystemExceptionCall(_EXCEPTION_POINTERS* ExceptionInfo) {// 获取生成路径QString logFile QApplication::applicationDirPath() /dump;// 判断路径是否存在if (!QDir(logFile).exists()){// 路径不存在则创建QDir().mkpath(logFile);}// 生成dump文件路径及名称QString dumpName QString(%1/%2.dmp).arg(logFile).arg(QDateTime::currentDateTime().toString(yyyyMMdd-hh_mm_ss));// 创建dump文件 #if 0// 使用CreateFile创建Dump文件适用于包含详细参数的文件创建HANDLE hDumpFile CreateFile(dumpName.toStdWString().c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); #else// Pdb文件的配置参数如文件显隐编辑状态等LPCREATEFILE2_EXTENDED_PARAMETERS fileParam Q_NULLPTR;// 使用CreateFile2创建Dump文件适用于普通文件创建通常不需要其他配置参数使用该函数更为快捷HANDLE hDumpFile CreateFile2(dumpName.toStdWString().c_str(), GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS, fileParam); #endifif (hDumpFile ! INVALID_HANDLE_VALUE){MINIDUMP_EXCEPTION_INFORMATION dumpInfo;dumpInfo.ThreadId GetCurrentThreadId(); // 当前现场IddumpInfo.ExceptionPointers ExceptionInfo; // 当前异常指针dumpInfo.ClientPointers TRUE; // 写入Dump文件时可以直接引用相关内存地址// 创建Dump文件MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpWithDataSegs, dumpInfo, Q_NULLPTR, Q_NULLPTR);// 关闭文件句柄CloseHandle(hDumpFile);}return EXCEPTION_EXECUTE_HANDLER; }int main(int argc, char *argv[]) { #ifdef Q_OS_WIN//! 注册异常奔溃回调SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)SystemExceptionCall); #endifQApplication a(argc, argv);MainWindow w;w.show();return a.exec(); } MainWindow mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindowQT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void on_btnCrash_clicked();private:Ui::MainWindow *ui; }; #endif // MAINWINDOW_H mainwindow.cpp #include mainwindow.h #include ui_mainwindow.h#include QDebug MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_btnCrash_clicked() { // qCritical(test);qDebug() 123456 __FUNCTION__;int b 10;int a 10/(b-10);qDebug() 123456 a; } Ui文件 ?xml version1.0 encodingUTF-8? ui version4.0classMainWindow/classwidget classQMainWindow nameMainWindowproperty namegeometryrectx0/xy0/ywidth330/widthheight207/height/rect/propertyproperty namewindowTitlestringMainWindow/string/propertywidget classQWidget namecentralwidgetlayout classQGridLayout namegridLayoutitem row0 column1spacer nameverticalSpacerproperty nameorientationenumQt::Vertical/enum/propertyproperty namesizeHint stdset0sizewidth20/widthheight52/height/size/property/spacer/itemitem row1 column0spacer namehorizontalSpacerproperty nameorientationenumQt::Horizontal/enum/propertyproperty namesizeHint stdset0sizewidth110/widthheight20/height/size/property/spacer/itemitem row1 column1widget classQPushButton namebtnCrashproperty nametextstring崩溃/string/property/widget/itemitem row1 column2spacer namehorizontalSpacer_2property nameorientationenumQt::Horizontal/enum/propertyproperty namesizeHint stdset0sizewidth109/widthheight20/height/size/property/spacer/itemitem row2 column1spacer nameverticalSpacer_2property nameorientationenumQt::Vertical/enum/propertyproperty namesizeHint stdset0sizewidth20/widthheight51/height/size/property/spacer/item/layout/widgetwidget classQMenuBar namemenubarproperty namegeometryrectx0/xy0/ywidth330/widthheight23/height/rect/property/widgetwidget classQStatusBar namestatusbar//widgetresources/connections/ /ui 总结 通过配置编辑项目并使用系统提供的接口设置Dump文件生成函数最后使用Vs调试代码即可。 友情提示——哪里看不懂可私哦让我们一起互相进步吧 创作不易请留下一个免费的赞叭 谢谢 ^o^/) 注文章为作者编程过程中所遇到的问题和总结内容仅供参考若有错误欢迎指出。 注如有侵权请联系作者删除
http://www.tj-hxxt.cn/news/220587.html

相关文章:

  • 网站怎么做可以增加点击率20条优化措施
  • 上海最大的seo公司怎么seo关键词优化排名
  • phpmysql网站开发腾讯企业邮箱收费标准一年多少钱
  • 国内建网站费用广东网站备案网站建设方案书
  • 自动建站网站系统域名网站可以用什么语言开发做
  • 黑龙江省建设会计协会网站东莞seo按天计费
  • 微网站如何做微信支付宝支付宝支付接口备案信息修改网站名称
  • 网站推广策划书怎么说百度推广怎么登陆
  • 门户类网站如何做策划超好看WordPress
  • wordpress适合做大型网站吗网站建设服务费一年多少钱
  • 济宁市松岳建设机械有限公司网站销售易
  • 石家庄seo网站管理网站页面设计优化方案
  • 网页设计网站的主题中山市西区网站制作
  • 唐山玉田网站建设建盏大师排名与落款
  • 自己给网站做logo怎么搜索整个网站
  • 营销相关网站做网站一定要云解析吗
  • 响应式网站预览购票网站模板
  • 中江网站建设有限公司网站建设 中企动力重庆
  • 做电子书网站做网站费用入什么科目
  • 网站建设销售工作好么网页查询系统
  • 搜索关键字搜索到网站国外网站界面
  • 大公司做网站的优势帮别人做ppt赚钱的网站
  • 专业网站建设明细报价表poedit2 汉化wordpress
  • 商城网站系统建设方案wordpress 工作室模板
  • 权威的网站建设排行榜福田蒙派克6座二手值多少钱
  • 做pc端网站资讯企业邮箱怎么开通注册免费
  • 实木餐桌椅移动网站建设有哪些网站做的比较好看
  • 物流网站方案网站设计师工资怎样
  • 做网站域名自己弄江苏网站设计
  • 网站建设seo视频教程深圳装修设计公司排名前十强