自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(57)
  • 资源 (3)
  • 收藏
  • 关注

原创 dotnet默认架构选择 x86 to x64

准备编译一个C#程序,将代码复制到了另一个环境。报错可是我已经安装了.Net6.0 x64,为什么会找不到呢?利用显示Architecture:x86, 然后列出了x86版本的.net几个版本,确实没有安装.Net6.0 sdk x86.但是我想要编译成x64的程序。打开Visual studio,找到工程配置,发现Traget framework是空的。

2023-10-10 14:16:49 309

原创 “The xxx field is required“, Nullable引发的bug

最近接到一个报告的bug,有一个前端的功能不好用了。这个项目是由前端和后台服务组成的,前端用的angular,服务用的是.net6.0。从前端开始排查,发现有个api的返回错误,返回中报告 “The xxx field is required”,这个field在请求中被设置未了null,而查看了service里面的模型代码,这个field并没有被设置为required,而这段代码一直没有修改。request的内容返回的内容再来看看服务端的定义1.排查1.1 跟代码首先想到的跟代码,因为能够稳定复

2023-06-07 09:56:50 4421

原创 map退出函数后allocator变为非法的debug问题

release版和debug版的混用需谨慎。

2023-03-22 17:15:02 177

原创 开发、调试环境搭建实践及把物理机做成虚拟机

本文探讨了一种开发调试环境切换的方法,并且详细介绍了把物理机做成虚拟机的方法,过程中遇到了许多系统启动方面的概念,比如UEFI等,也碰到了较多的问题,通过本次实践,可以加深对虚拟机的理解。

2022-09-06 17:38:19 2068

原创 附加到进程调试c++代码的问题

这个点就是再attachtoprocess时发现的,哪个exe的type,是managed,x86,直接attach的话会衣managed模式调试,这是需要做的就是attachto后面选择native。新接手一个任务,调试一段程序,工程是一个dll的库文件,C++的,同事指点是由另一个exe调用的。于是打开,attachtoprocess,打断点,可是断点是红圈,没断下来,查看modules,发现也没有我这个dll。有时候就是这样,一层窗户纸,捅破了就觉得原来如此。...

2022-07-18 17:26:42 763

原创 .net core踩坑实践

准确的说是有两个坑,一个关于.net core的版本,另一个关于编译选项的。先贴一下错误信息。第一个错误就是打不开工程,我装的VS2017,打开一个现有工程时,报错Project file is incomplete. Expected imports are missing可是这个工程是git库里的,产品都是用的这个。为什么我本地就打不开呢?同样的环境,另一个工程,里面有一个project,在打开sln之后,这个project显示未正常加载,在error list中提示:Error NU1105 Un

2022-06-16 14:30:00 233

原创 Angular 中使用module中component的一个坑

最近在使用Angular做一个项目,之前对于angular的接触不多,所以使用过程中碰到了一些坑,在此记录其中一个先上报错信息:下面详细解释错误的产生和解决方案一个很简单的需求,希望在product-list component (属于product module)中使用shared module中的star component. 工程目录app下的结构如下:创建过程创建工程的步骤如下:在app-routing-module中增加路径定义并增加import:这时候如果ng serve 是没有问题

2022-06-08 12:52:09 2299 2

原创 cannot convert argument 4 from ‘const wchar_t [5]‘ to ‘LPOLESTR‘

00现象上代码void function(LPOLESTR ptName){......}void main(){ function(L"name");}环境win10, 编译器VS2017在function(L"the name");这一行,出现提示argument of type "const wchar_t*" is incompatible with parameter of type "LPOLESTR"强行编译,这一行的错误信息是:cannot convert a

2022-05-10 17:41:57 690

原创 VS宏与环境变量不一致问题

VS宏路径与环境变量不一致问题1.1 源起今天遇到一个奇怪的问题,有一个现有的项目,正常时用msbuild编译,项目下有csproj文件。平时直接用vs打开csproj就可以了,但是重新配置了环境之后,居然打不开了。提示如下:...

2022-04-29 15:49:22 624

原创 cannot be loaded because running scripts is disabled on this system

cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.在powershell中打开angular-cli的时候,输入ng命令,收到了这个提示ng : File C:\Users\ysu10\AppData\Roaming\n

2022-04-24 09:05:06 2780

原创 virutalbox无法使用?报-5640

KB5006670导致virutalbox无法使用,报-5640 现象处理现象使用win10,系统更新一直是自动更新的,最近发现之前用的好好的virualbox居然不能用了,具体表现为,打开启动虚拟机的时候提示-5640。处理试过了重启,重装virutalbox,重装驱动,都没有解决。最后只好重置操作系统。刚刚重置完操作系统,安装上所有的软件,再三重启测试,没问题。结果今天使用的时候又不行了。看了一下最近的系统更新,发现今天更新了这个KB5006670,于是试着把它卸载。卸载完之后重启,vi

2021-10-18 14:50:58 791

原创 跨平台使用C++ vector的多线程问题

跨平台使用C++ vector的多线程问题源起reserve问题clear问题后记源起最近碰到一个linux下程序崩溃的问题,涉及到vector的多线程使用的问题。由于是第二次折腾这个问题,所以把过程记录下来。简单介绍一下背景:程序为windows和linux跨平台使用。使用一套代码,会分别编译两个平台下的不同版本。程序涉及的结构。使用了一个全局变量的vector来保存数据,有两个线程,一个线程是周期执行的,每个周期开始时检查全局变量中是否有数据,如果有就取出来处理,然后清空。另一个线程等待外部输入

2021-01-25 18:21:55 1506

原创 一次跨平台程序崩溃问题

一次跨平台程序崩溃问题背景最近接手一个程序移植的项目。原项目是运行在vxworks下的C代码,同时还提供了windows平台的工程。现在需要将其改造成arm版linux下和windows下跨平台的程序。原代码中也包含windows和linux两个平台程序。改造过程只是对arm版进行适应性修改,对部分功能进行补充。但是在调试过程中却出现了windows下面正常,linux下面程序 崩溃的问题。定位问题经过不断的删除和比较代码,终于定位到了问题。有一个源文件里要用到目录文件遍历,代码中使用了open

2020-06-23 14:28:22 272

原创 undefined reference to和 非静态成员引用必须与特定对象相对 的一种情况

现象最近改一个程序,给需要给现有的一个类myClass增加一个变量m。很简单的一件事情,却碰到了问题。程序结构是这样的,主程序名为A,使用动态链接库B。需要增加变量的类在B中。增加的变量m希望myClass的myFunc函数中赋值,在B库的另一个类里取值。第一个尝试直接在myClass的定义中增加int m。在myFunc函数中使用。还没到编译,vs就提示错误“非静态成员引用必须与特定对象...

2020-04-30 08:52:39 851

原创 git服务端程序比较

git服务端程序比较引子功能权限控制粒度用户管理方式软件依赖安装难易程度使用难易程度资源消耗中文支持总结引子最近试用了几个git服务端程序,把当前试用的感受和比较列举一下。当然,理论上说,git是不需要服务端程序的,安装完git之后,可以使用ssh来登录,使用主机的用户管理来做用户权限管理,但是对于windows用户似乎有点难,操作有点复杂。所以才有了一众在git之上开发的服务端程序。这些程...

2020-04-10 09:53:41 1486

原创 win7下docker安装gogs

1.引子最近一直在折腾git服务端的问题,希望能对仓库进行用户权限管理,还有代码审查功能。本文介绍下使用gogs的情况。docker安装gogsgogs有很多安装方式,也支持许多平台,但是我还是使用了对主机影响最小的docker方案。参考 https://github.com/gogs/gogs/tree/master/docker# Pull image from Docker Hub...

2020-04-10 09:13:05 370

原创 win7使用docker-toolbox安装gitlab

win7使用docker-toolbox安装gitlab1.安装原因2.gitlab安装3.gitlab使用1.安装原因最近考虑切换到git来管理代码,但是对权限有较高的要求,并且希望增加代码审查功能。所以考虑了gerrit和gitlab来实施。gerrit在另一篇文章中进行了介绍。本文主要介绍gitlab。2.gitlab安装参考https://docs.gitlab.com/omnib...

2020-04-08 15:59:57 679

原创 win7下使用docker安装gerrit和openLDAP

最近准备转向git来管理代码,但是由于有较高的权限管理要求,而且希望增加代码审查功能。考虑了两种方案,一种是gitlab,另一种是gerrit。getlab使用了虚拟机安装,安装过程还比较顺利,但是启动起来,访问的时候一直报错,后来发现是内存不够,给虚拟机分配了2G内存,后来把内存改成4G,能够正常运行了。但是对于我来说,这个消耗太大了,所以考虑使用更轻量级的gerrit,使用openLDAP...

2020-04-08 11:30:33 1378

原创 使用gdbserver调试远程库文件

我的需求,有一个项目,程序由一个主程序和一堆动态库组成,运行在目标机上,希望能够在开发机上进行远程调试。于是想到了使用gdbserver来调试,中间碰到一些问题,记录下来1.demo程序创建了一个demo程序来模拟,由主程序和动态库两个文件夹,开发机上的目录结构如下--proj|---exemain----exemain.cpp----|Debug----|----...

2019-12-04 15:02:42 745

原创 监视系统进程的脚本

最近在调试一个系统重启的问题。系统运行三个主要的用户程序prog1,prog2,prog3,其中prog1作为主程序是带有看门狗功能的,而且会守护prog2,如果发现prog2不在了就会重新启动那个程序。最近发现主程序经常卡死,然后过一段时间可能会重启,也可能不重启。查看var/log下的文件并没有发现有用的信息。系统是裁剪过的ubuntu12.04。怀疑是否三个程序中的某个程序崩溃了...

2019-11-10 22:24:02 297

原创 centos6.4试用insight记

看到了insight这个软件,linux下gdb的前端工具,于是希望试用一下。我的系统centos6.4 x86.1.下载insight ,解压,编译# tar jxvf insight-6.8-1a.tar.bz2# cd insight-6.8# ./configure# make2.期间碰到错误eval.c: 在函数‘evaluate_subexp_standar...

2019-10-30 15:48:48 263

原创 跨平台开发调试实践

工作需要用到跨平台开发,原来都是先在windows下用vs2010开发,调试,调试好之后直接使用linux虚拟机进行编译,然后在目标机上部署,但是遇到只在linux下才能运行的代码就比较麻烦,有限的调试手段就是printf,有诸多的不便。在逐渐摸索使用工具对目标机进行在线调试的过程中遇到很多的问题,记录下来从几个方面进行尝试。1.使用vs进行跨平台开发。使用vs2019进行跨平台开...

2019-10-30 08:56:52 320

原创 vscode使用wsl远程调试linux代码

vscode现在可以使用远程调试功能 ,可以通过ssh连接远程服务器,使用容器或者使用wsl,本地vscode作为人机接口,实际的代码和调试程序都在远程运行。现在将我使用wsl过程和碰到的问题记录下来:操作系统win10家庭版,安装了wsl,官方商店下载的ubuntu18.04lts版。1.首先在扩展里安装Remote-WSL2.左侧会出现remote explorer的图标,打开...

2019-10-30 08:20:31 2287

原创 GDB和GDBServer

GDB是linux下的调试利器,是使用命令行来调试的。有必要专门学习一下。bserver是配合gdb使用的另一个工具,通过配合可以实现远程调试。目标机和调试机可以不在一台机器上。先来学习一下gdb的常用命令: (1)l:列出所有源代码  (2)break main:在main处打断点   break test_debug.c:11:在test_debug.c的11...

2019-10-29 16:42:21 6632

原创 error C2275 将此类型用作表达式非法 以及 >LINK : fatal error C1007: 无法识别的标志“-FitObjData”(在“p2”中)

本文描述了两个常见但是很容易忽略和出错的问题a.error C2275 将此类型用作表达式非法b.>LINK : fatal error C1007: 无法识别的标志“-FitObjData”(在“p2”中)1.1.问题描述:问题是这样的,合作伙伴发来一段测试代码,是c写的,部分代码如下:void main(void){ long id = 0; char Se...

2019-10-29 08:46:05 6502

原创 调试segfault 经验总结

最近遇到一个棘手的问题,用在现场的程序崩溃了,但是却无法复现,隔个一个月左右出一次,已经出现了三次,各种测试并没有能复现问题。现在只好把目光聚焦在能够获得的仅有的信息,系统日志上了,查看/var/log/message,找到了关键的一套信息:kernel: myapp[1427]: segfault at 494d1f84 ip 00d73e54 sp b17fac20 error 6 in...

2019-08-12 10:14:55 7519

原创 单元测试,打桩问题

先说一下我的问题,一直在做的程序没有单元测试的代码,现在希望增加单元测试功能。考察了一些平台和技术,记录一下。我的程序的结构如下程序包含a,b两个dll,其中b依赖a。现在希望对b进行单元测试。a.dll的示例代码如下struct s{ int sa; int sb; int sc;};class a{public: a(int i) { }; void a...

2019-08-01 19:54:21 2608

原创 linux下的程序崩溃调试,初级初级但是很容易犯的错误

背景:要做的程序是跨平台的,而且对于一个字符串需要大小写不敏感。所以想到的办法是都转成大写。在windows下有把字符串转大写的函数strupr,但是在linux下却没有,于是上网一搜,搜到一段代码#ifndef WIN32char *strupr(char *str){ char *orign=str; for (; *str!='\0 '; str++) ...

2019-07-11 16:00:51 185

原创 VS2010编译最新的Googletest最新版本出错以及C++11标准

先简述一下过程,因为最新想试一下用googletest做测试,所以从github上下载了最新的gtest(2019年7月9日),然后用CMake生成vs2010的sln文件,可是编译的时候出了一大堆的语法错误:2>C:\googletest\include\gtest/internal/gtest-port.h(942): error C2059: 语法错误:“;”2>C:\...

2019-07-09 16:28:18 1786

原创 文件结构保存指针的一个坑

在使用二进制文件保存数据时,常常先定义一个结构,然后先在内存中用结构写入数据,在把这个结构直接写入文件中。读取文件时,也直接把文件读取到一个该结构的变量中,直接可以使用。这样做非常的方便,但是有时候为了方便,文件结构中需要使用指针,这时使用时就需要非常的小心。并不能直接使用文件结构来套用文件内容。而需要将文件结构中的指针新生产空间,然后单独赋值。上代码 struct head_T {...

2019-06-18 09:16:41 593

原创 关于指针的地址的一个小坑

指针和地址很容易用错,下面就是一个经典的误用案例。先上代码 struct head_T { int entry_nums; }; struct entry_T { char entry_name[12]; int entry_data1; int entry_data2; }; struct file_T { head_T head; ...

2019-06-18 08:59:53 215

原创 一个分号的笔误埋得坑

一个很低级的错误,坑埋得挺深的。上代码。int i=0;if(i);{ printf("true\n")}编译通过,运行,输出true。闯祸的就是if那一行的分号,把if结束了,后面的大括号里是无论如何都要执行的。...

2019-06-17 20:52:00 121

原创 数据类型不同比较的坑

c/c++中如果有两个变量,一个是有符号,一个是无符号,如果内存里值相同,那么用==比较符能一样吗?示例代码: unsigned char a=0x80; char b=0x80; if(a==b) printf("true\n"); else printf("false\n");输出的是true还是false呢?结果...

2019-04-29 11:33:47 873

原创 【搬运】C++下标越界后

【搬运】因为原来的博客要关,所以从原来的博客搬运过来。最近遇到一个很奇怪的问题,在arm-linux下发现一个bug,用windows版验证也有这个问题,后来查到原因是下标错了,多加了1,后来修复了这个bug。可是测试人员在验证新版本时告诉我,原版本没有这个问题。后来了解到,该测试人员测试的额x86-linux版本。确实没有出现这个bug。这就奇怪了,肯定是用错了,肯定是下标加了个1。怎么会没...

2019-04-10 15:48:26 617

原创 【搬运】一个四舍五入的问题

【搬运】因为原来的博客要关,所以从原来的博客搬运过来。问题是要做一个float转int型的计算,但是涉及到小数部分四舍五入的问题。开始找了一段代码,也是搜索到的比较流行的data=(double)(int)(data+0.5);试了几个数据,似乎没有问题,但是当data的设置大于int型的最大值时,结果变成了0,这就没法接受了。新的代码是(data > 0.0)?floor(d...

2019-04-10 15:47:44 318

原创 【搬运】共享库权限导致的程序崩溃调试总结

【搬运】因为原来的博客要关,所以从原来的博客搬运过来。调试一个程序,现象是进程序直接退出。1.printf首先想到的是在main函数里面找,用printf来看是执行到哪里。结果在main函数的一开始就增加打印信息都没有出来。后来想到该程序使用了大量的动态链接库,而动态链接库里又有全局变量存在。因此推断问题出在动态链接库里面。尤其是在进main函数之前执行的代码。于是在动态链接库文件里的...

2019-04-10 15:45:06 178

原创 【搬运】C语言返回函数为布尔型,在if判断时出错。

【搬运】因为原来的博客要关,所以从原来的博客搬运过来。背景是这样的,程序为c语言的程序,包含n多C文件,最终编译成一个动态连接库,对外提供两个void函数。问题是这样的,程序刚开始执行时有一段(在a文件中)if(b()){XXX;}else{xxxxx;}b()函数在另一个文件中定义。返回值为bool型,(bool类型在另一个头文件d中定义)...

2019-04-10 15:43:53 2101

原创 一个关于>0的坑

先上代码unsigned int len;unsigned int readbuflen;......while((len-readbuflen)>0){......readbuflen+=sizeof(structA);}这段代码的要实现的功能意图也布局明显,从一段len长度的数据中截出structA。但是如果len不能整除structA的长度,...

2019-03-25 18:59:47 161

原创 一个关于abs的小坑

上代码 float b=1.0; float a=1.1;if(abs(b-a)>0.0000000001){ printf("true\n");}else{printf("false");}结果会是true还是false呢?设计意图肯定是要true的,在windows下用vs2010编译,出来结果也是对的。但是在linux下结果却是f...

2019-03-22 15:33:50 2079

原创 一个关于运算符优先级的小坑

先上段代码int source=0x2;int c;const int MASK1=0x1;const int MASK2=0x2;const int MASK3=0x4;c=source&MASK1+source&MASK2>>1+source&MASK3>>2;本意是统计source中低三位中1的个数,但是这么写却不对,因为按...

2019-01-25 16:26:11 240

Nova Press GRE,经典GRE复习资料

Nova Press GRE,经典GRE复习资料

2018-05-17

wince5.0模拟器

wince5.0模拟器,安装后直接在pc上模拟wince的系统

2010-05-07

mathmatica6注册机

从简单的计算机操作到大规模的编程和互动式的文件准备,Mathematica 是科学研究前沿、工程分析和建模、从中学到研究生的技术教育、以及只要数量方法涉及之处必备的工具。 官方网址:http://www.wolfram.com/ http://www.wolfram.com/products/mathematica/newin6/content/DynamicInteractivity/ Mathematica 系统   Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。 Mathematica 6 它的主要使用者是从事理论研究的数学工作者和其它科学工作者、以及从事实际工作的工程技术人员。Mathematica可以用于解决各种领域的涉及复杂的符号计算和数值计算的问题。它代替了许多以前仅仅只能靠纸和笔解决的工作,这种思维和解题工具的革新可能对各种研究领域和工程领域产生深远的影响。 Mathematica可以做许多符号演算工作:它能进行多项式的计算、因式分解、展开等。进行各种有理式计算,求多项式、有理式方程和超越方程的精确解和近似解。进行数值的或一般代数式的向量、矩阵的各种计算。求极限、导数、积分,幂级数展开,求解某些微分方程等。Mathematica还可以做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数值)的计算。所有Mathematica系统内部定义的整函数、实(复)函数也具有这样的性质。使用Mathematica可以很方便地画出用各种方式表示的一元和二元函数的图形。通过这样的图形,我们可以立即形象地把握住函数的某些特性,而这些特征一般很难从函数的符号表达式中看清楚。 Mathematica的能力不仅仅在于上面说的这些功能,更重要的在于它把这些功能有机地结合在一个系统里。在使用这个系统时,人们可以根据自己的需要,一会儿从符号演算转去画图形,一会又转去做数值计算。这种灵活性能带来极大的方便,常使一些看起来非常复杂的问题变的易如反掌。在学习和使用 Mathematica的过程中读者会逐步体会这些。Mathematica还是一个很容易扩充和修改的系统,它提供了一套描述方法,相当于一个编程语言,用这个语言可以写程序,解决各种特殊问题。 广泛的使用--一些典型例子 * 处理含有上百万语汇的复杂符号计算 * 上载、分析、和视觉化数据 * 解数值和符号方程、微分方程、和最小化问题 * 建立各类数值模型和仿真,包括从简单的控制系统到星系碰撞、金融衍生物、复杂生物系统、化学反应、环境影响研究、和粒子加速器中的磁场 * 促进工程公司和金融企业迅速发展的应用程序 * 制作高质量的互动技术报告或论文,用于电子发行和印刷发行 * 向各层次的学生阐述数学或科学概念,可应用于从小学生至研究生 * 排版技术信息 -- 例如,美国专利 * 用于技术展示、报告和研讨会 从表面看,Mathematica是一个令人惊异、但又易于使用的计算器。它包括了世界上最广泛和全面的函数系统,涉及数学,科学,工程,和金融等。所有这些函数都是预先设计好的,常常仅需要一个命令或用鼠标轻轻一点就能使用。但是,Mathematica 函数适用于任何规模和精度的数值、能进行符号的计算、图形的表示、甚至自我检查和调整结果的精确性。这种能力确保了每次计算结果的可信,甚至是对某种计算原理缺乏经验的人。 Mathematica v6.0 下载 在计算的过程中,Mathematica在动态排版文档--Mathematica笔记本中保存了一份完整的报告:输入、输出、和图形。只要直接加上文字、标题、教科书中的公式、甚至界面元素,我们就能立刻从原始文件生成网页、幻灯片、XML文件、或打印报告。实际上,在笔记本文本技术的帮助下,可以轻松的获得一个完全自定义的界面,从而收件人可以与内容互动。笔记本是一个功能全面,完全结合的技术文本制作环境。

2009-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除