导航:首页 > 源码编译 > 编译和调试aspnetcore源码

编译和调试aspnetcore源码

发布时间:2022-04-16 10:02:05

⑴ ASP.NET网站调试与不调试有何区别

调试主要是针对于编程员的,用户只看最终效果,所以不需调试。
如果你想让用户看一个你指向得错误页面就禁用;如果你网站有错误而选择了可以进行调试,那么当用户看你网站出错得时候,如果用户又安装类似于VS得东西就会提示用户是否调试!
很简单得比如:你打开IE得JS脚本调试,那么有错得位置就会弹出框 提示你调试。
具体情况就是这样得!

另:VS调试是为了查错断点跟踪用得。很好用!

⑵ 怎么调试安卓framework的源码

一、修改android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件

并将其作为要使用的SDK的java SDK。如下图

三、生成导入AS所需配置文件(*.ipr)
编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/

在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh

等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms

这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
删除掉所有不需要的mole-library项 PS:感谢 @dezng 的建议
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr

四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK

②设置'Moles'的依赖

先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:

其它版本的代码在添加frameworks时可能会显示成:

没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
五、DEBUG源码
我们可以通过给刚导入的工程在'Moles'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.

可以按照上图中'1'和'2'来添加Android Framework支持.
在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图所示的图标
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示Call requires API Level x.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题

⑶ 请教编译与调试的区别是什么

不调试直接编译,省去调试步骤,节约CPU计算资源等。所以说“代价小”。不过一般调试也占用不了多少资源。

⑷ asp.net core mvc 是不是未包含使用UA 动态选择displayModel

这个吧,可能有些东西你不太理解造成的。
关于性能提升的问题,net core是否性能提升10倍?答案是还真差不多!为什么呢?这是因为.net core为了跨平台,编译的方式使用的是dotnet publish -r 版本,例如发布到windows X64的机器上,使用的命令就应该是dotnet publish -r win-x64这样的命令进行发布。而运行方式呢,使用的是dotnet run xx.dll,或者直接dotnet xx.dll,它并不依赖于IIS!当然可以在IIS上部署,也就是在配置文件中使用dotnet 其中参数为xx.dll效果是一样的——但是一旦这样部署的样,受制于IIS(多数情况下使用的是IIS10.0),尤其多线程测试时weblimit参数不做更新的话,性能上有影响,即使数据很大也是有影响的。
当然如果你直接使用IIS把源码丢过去,在配置文件中使用允许编译的方式的话,这种方式其实与.net framework的效果是一样的,并没有任何性能上的优势——这种情况只是你把net core看作是net framework的一个版本一样,他自然和其他版本相关不大!所以你不说话你的测试方式自然性能上无法估量。
net core相比之下的优势其实除了性能上的提高就是跨平台(其实是源码跨平台),什么意思呢?.net framework的移植性非常好,生成一个通用的dll(MSIL中间文件),然后该文件由不同机器上的运行环境自行翻译(JIT功能),一般认为是边翻译边执行,当然为了整体的性能问题,JIT首次编译的内容(调用的片段才会被翻译,不调用的不会翻译)存储到Native上,下次再调用时不用翻译过的代码时,JIT会跳过翻译,直接使用使用首次翻译过的片段。所以在以前的时候,有时我们为了性能,玩Native文件,而netcore后边指定版本的作用,其实就是翻译成可执行的二进制PE文件,当然他需要指定操作系统的,比如ubuntu等linux发行版上都可以的!想来看看,netcore本身在net framework上进行了重写,生成的也是针对不同系统的可执行内容,所以性能上肯定有所提升是绝对的。当然,这种方式最适合的方式还是容器方式(docker),所以性能上要比在IIS上提升不少——当然不能是类似.net framework直接源码的形式,有点类似于.net framework,但是比framework发布的形式还要高些,而性能提升也是基本这两种形式的对比!

当然,严格来说.net core也是试水跨平台的方式,他去掉了.net framework的大多数内容,所以主要的体现就以下三点:
1,跨平台
2,重写库,性能上的提高
3,为docker做足准备(也是跨平台的扩展之一)
换句话来说,如果你不是基于以上几种的考虑,那么为什么要选择net core呢?要知道每种技术都有他适应的场景的,如果你是winform/WPF时,没有考虑net core的必要性,而且net core也不支持!如果是Azercloud的话,net core小巧,且服务专一,当然可以考虑net core.如果你公司考虑到使用linux发行版以避免高昂的windows费用,还有一堆.net程序员的话,net core肯定是你的选择优势——net framework不支持linux系统啊!
所以我认为技术只是适用!也不是用来比较,net framework与net core的定位是相当明显且不相互冲突,所以只是一种选择罢了,而不是谁一定比谁牛B!

⑸ ASP.NET 源代码 怎么运行调试

安装visual studio编译运行
最新版本是 2015

⑹ 网站源代码如何在线进行调试

开发调试环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码
由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA
一、修改Android Studio(以下简称AS)的内存配置

因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件

并将其作为要使用的SDK的Java SDK。如下图

三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/

在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh

等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms

这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr

如果在导入时AS出现

则建议按照其给定的解决方法来解决(网址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit),具体内容如下图:

四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK

②设置'Moles'的依赖

先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:

其它版本的代码在添加frameworks时可能会显示成:

没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
五、DEBUG源码
我们可以通过给刚导入的工程在'Moles'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.

可以按照上图中'1'和'2'来添加Android Framework支持.

在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图所示的图标
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示Call requires API Level x.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题。

⑺ 如何编译和调试android源码中platform/system/core下的代码

首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
注意,这是一个source命令,执行之后,就会有一些额外的命令可以使用:
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- jgrep: Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。

⑻ asp.net 编译问题

很不喜欢你这样的提问题的思路
你贴这么一堆有什么用呢?
错误很明显,sql语句错掉了.你为什么不把语句相关的代码拿上来呢?真不知道在想什么

这个错误是格式错误, SELECT 和FROM 之间少写了什么或者目标列和FROM之间没有留空格.检查一下吧

-------------------------

user, password 是 ACCESS 的保留字,数据库不要这样建字段和表名.改掉吧

⑼ asp源码,.net源码有什么区别

说起ASP+的好处,那就很多了。我们这里举几个最明显的。

速度,ASP+是编译后执行的,也就是说当aspx文件第一次被请求时被编译,以后的请求就不需要重新编译了。而ASP是解释性脚本语言,每次都需要重新编译,这种原因,其速度就无法和ASP+来比了。不过ASP+的编译速度也够慢的,在本地机上调试,第一次执行的速度是很慢的。不过以后就很快了,第一次执行的任务就交给管理员去做吧。我们就去享受以后的高速度吧:)

功能,ASP+的功能是无比强大的,几乎能做我们在网络能想到的事情,呵呵,举个简单的例子,那就是文件的上传,在ASP的时代,这个问题只能通过组件才行,但是在ASP+中只需要以下的代码就可以了。下面是一个例子:

< html>
< head>

< script language="C#" runat="server">

void Button1_Click(object Source, EventArgs e) {

if (Text1.Value == "") {
Span1.InnerHtml = "Error: you must enter a file name";
return;
}

if (File1.PostedFile != null) {
try {
File1.PostedFile.SaveAs("c:\\temp\\"+Text1.Value);
Span1.InnerHtml = "File uploaded successfully to c:\\temp\\"+Text1.Value+" on the web server";
}
catch (Exception exc) {
Span1.InnerHtml = "Error saving file c:\\temp\\"+Text1.Value+"
"+ exc.ToString();
}
}
}

< /head>
< body>

HtmlInputFile Sample

< form enctype="multipart/form-data" runat="server">

Select File to Upload:

Save as filename (no path): < input id="Text1" type="text" runat="server">

< span id=Span1 style="font: 8pt verdana;" runat="server" />

< input type=button id="Button1" value="Upload" OnServerClick="Button1_Click" runat="server">

< /form>

< /body>
< /html>

相信大家都能看懂上面的程序,不是太难。看看用ASP+上传文件就是这么简单,根本就不需要什么组件了,呵呵,只可怜飞刀我写了半天的"aspcnUP上传组件",一片心血就被M$给搞完了。我们的组件也要下岗了,唉,可悲啊。(飞刀悲情地唱起"风萧萧兮,易水寒,壮士一去不复返......")

ASP+能做的事远不止如此,这里只是举个小例子,它的更多功能我们以后再去介绍,呵呵。

ASP+还有一大优点就是结构化编程,他的程序语言可以自已任意加,目前支持C#,VB,JavaScript,呵呵,大家是不是对不支持VBScript感到失望 ?!:)这是大势所趋,大家也不必失望啦,我以后的文章的例程都会用C#去写,呵呵,如果你钟情于VB,你也可以看看本站一篇关于VB与C#语法比较的文章,很容易上手的。对于C#,大家可能比较陌生,不过我们看看上面的程序,发现他还是有很多地方是我们容易上手的。我个人认为它是C++与VB与Java的结合体,也可能是M$宣战Java的第一步,大家用多了就会觉得他好处多:)

写ASP+程序,你会觉得是在写VB或者是VC,很多的思想全都来自于VB,VC,可能是MS.NET的原因吧。所以我们写程序的思维需要改变,要让你自已感觉这是在写软件,不是在写传统的asp程序。

至于ASP+还有的一些功能,我们站点以前的文章也介绍了,呵呵,大家查查,我们以后也会通过程序去了解,只可惜,我们服务商的服务器不能使用asp+,否则我们会更多了解的asp+的特性。

另外一个大家关心的问题就是,装有NGWS的Windows 2000是否还支持asp,担心我们有了aspx,就没有了asp,以前的程序就全玩完了。这个问题大家根本不用担心,NGWS设计时M$就考虑过,NGWS同样可以解析asp,文件的扩展名是.asp,那就使用asp的方法解析,如果是.aspx就使用asp+来解析,所以您以前的asp是不会报销的。哈哈,大家可以放心啦。飞刀的机器上就是这样的咯。aspx,asp都可以用:)

⑽ 请问编译,调试和运行分别有什么区别呢

编译是把源文件转化为目标文件,即是把obj文件链接成exe文件。
调试则是为了找出在程序中的错误。
链接成可执行文件.exe,这时才可以运行,运行就是你要的结果。

阅读全文

与编译和调试aspnetcore源码相关的资料

热点内容
蓝线是哪个app上的 浏览:547
哪个app看大姨妈 浏览:181
投资经理程序员 浏览:480
反函数的加法运算法则 浏览:46
微赞直播用的什么服务器 浏览:542
哪个保皇app可以邀请好友 浏览:319
phpredis管理 浏览:563
程序员培养基地 浏览:674
linux查看bin 浏览:874
float赋值java 浏览:946
android70字体 浏览:941
程序员英文不好行吗 浏览:868
如何使用主机服务器pdf 浏览:701
打开下层文件夹代码 浏览:455
适配平板的app是什么意思 浏览:45
java写一个方法 浏览:682
中原大学php视频教程 浏览:501
冲压模具设计pdf 浏览:690
程序员考哪些证 浏览:233
李世民命令薛收为鱼作赋 浏览:776