A. C# .Net Core 報錯時,異常信息帶有路徑。如何編譯使其僅顯示錯誤位置而不是顯示完整路徑
弄一個全局異常,然後自己處理異常
異常信息在 Exception.StackTrace,也就是你截圖的那一串字元,替換或刪除掉你要隱藏的路徑就好
B. 「對路徑的訪問被拒絕.」 是怎麼回事
可能是屬性不適配或者和你的系統不匹配,具體的解決方法如下,僅供參考,希望對你有幫助,可以找身邊計算機專業的同學咨詢一下呀,僅供參考:
1.首先,右鍵點擊我么你需要許可權的文件夾,點擊「屬性」選項.
2.在菜單欄出找到「安全」選項,點擊「高級」選項.
3.彈出的對話框中點擊「所有者」選項卡,然後點擊「編輯」選項.
4.在新彈出的對話框中點擊下方的「將所有者變更為」,選擇我們當前系統登錄用戶,點擊「確定」,返回屬性安全標簽下。
5.在組或用戶名列表中查看自己用戶是否添加成功,然後點擊「編輯」選項,進入用戶編輯對話框。
6.然後在用戶列表中把除了我們剛才添加的用戶名其餘的都刪除,問題就解決了。
C. 未能載入的文件或程序集.怎麼解決
1,在64位操作系統上使用任何版本的編譯引用了僅32位組件的.Net 3.5的項目;
2,使用64位MSBuild編譯引用了僅32位組件的項目;
3,使用32位MSBuild編譯引用了僅64位組件的項目。
要解決這個問題,可以在解決方案管理器中,將所有的庫的目標平台全部設置為 AnyCPU就可以了。
如果需要最終執行平台是X86隻需將最終的執行文件目標平台設置為x86:
這樣即可正常編譯。
程序最終運行的平台,是根據可執行文件的設置來的,因此庫中設置為AnyCPU不會影響到最終程序的運行,運行依然是在x86之下。
但是如果引用的DLL有僅32位的,那這種方法就不行了,解決辦法http://support.microsoft.com/kb/2028833,詳見MSBuild 4.0 or Visual Studio 2010 may fail to compile a 32-bit application targeted for .Net Framework 3.5, 3.0 or 2.0 on x64 machine。
詳細解決步驟如下:
1、關閉所有Visual Studio;
2、以管理員的身份打開VS2010的命令提示窗口;
3、更改目錄至"<system_drive>:\Program Files (x86)\Microsoft SDKs\Windows\v<x.xx>\bin\」下面;
4、輸入該命令corflags /32bit+ ResGen.exe /force,執行;
5、使用記事本打開<project_name>.csproj文件;
6、在PropertyGroup下添加<ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>,保存,關閉退出。
現在在VS2010中重新打開原先的項目,編譯通過,可以正確運行了!
步驟做完後就能運行的原因是,此時ResGen就是以32位模式運行了,而不是64位,因此便可以載入標記為僅32位的程序集了。代價是——它就再也無法編譯標記為僅64位模式的程序集了。
對於該問題,還有另一個解決辦法,打開項目屬性頁面,選擇應用程序選項卡,設置目標框架為.NET Framework 4 。(由於框架限制,這個沒測試)
D. java 中怎麼獲取一份線程 mp 文件
當伺服器掛起,崩潰或者性能底下時,就需要抓取伺服器的線程堆棧(Thread Dump)用於後續的分析.
Thread mp提供了當前活動的線程的快照.它提供了JVM中所有Java線程的棧跟蹤信息
有很多方式可用於獲取Thread Dump,一些是操作系統特定的命令.
Windows:
1. 轉向伺服器的標准輸出窗口並按下Control + Break組合鍵,之後需要將線程堆棧復制到文件中
UNIX/ Linux
首先查找到伺服器的進程號(process id),然後獲取堆棧.
1. ps –ef| grep java
2. kill -3 <pid>
注意一定要謹慎,一步不慎就可能讓伺服器進程被殺死!
JVM自帶的工具獲取線程堆棧:
JDK自帶命令行工具獲取PID並做ThreadDump:
1. jps
2.jstack <pid>
使用JVisualVM:
Threads標簽頁 →ThreadDump按鈕
WebLogic自帶的獲取thread mp的工具:
1. webLogic.Admin工具
a.打開命令提示符,通過運行<DOMAIN_HOME>/bin/setDomain.env設置相關類路徑
b.執行下面的命令
java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1 THREAD_DUMP
注意: Thread Dump會列印到標准輸出,如nohup日誌或者進程窗口.
2.使用 Admin Console
a.登錄Admin Console ,點擊對應的伺服器
b.點擊ServeràMonitoringàThreads
c.點擊: Dump Thread Stack按鈕
3.使用WLST (WebLogic Scripting Tool)
connect(『weblogic』,'weblogic1』,』t3://localhost:7001』)
cd(『Servers』)
cd(『AdminServer』)
threadDump()
disconnect()
exit()
注意:線程堆棧將會保存在運行wlst的當前目錄下.
4.使用utils.ThreadDumper
用法:
C:eawlserver_10.3serverlib>java -cp weblogic.jar utils.ThreadDumper
Broadcast Thread mps disabled: must specify weblogic.debug.mpThreadAddr and
weblogic.debug.mpThreadPort
Exception in thread "main" java.lang.IllegalArgumentException: Port out of range
:-1
at java.net.DatagramPacket.setPort(Unknown Source)
at java.net.DatagramPacket.<init>(Unknown Source)
at java.net.DatagramPacket.<init>(Unknown Source)
at utils.ThreadDumper.sendDumpMsg(ThreadDumper.java:124)
at utils.ThreadDumper.main(ThreadDumper.java:145)
5.如果伺服器是作為Windows服務的方式運行,請運行下列命令:
WL_HOMEineasvc -mp -svcname:service-name
$JAVA_