場景1: 筆電有線網路連接內部路由器與PLC連線
執行
netsh interface ip set address "[有線網路名稱]" static [PLC內網的IP位址] 255.255.255.0 [PLC內網的預設閘道IP位址] 1
場景2: 回到辦公室改回DHCP
執行
netsh interface ip set address "[有線網路名稱]" dhcp
上述指令可製成批次檔
(檔案編碼需為Big5)
好記性不如爛筆頭
場景1: 筆電有線網路連接內部路由器與PLC連線
執行
netsh interface ip set address "[有線網路名稱]" static [PLC內網的IP位址] 255.255.255.0 [PLC內網的預設閘道IP位址] 1
場景2: 回到辦公室改回DHCP
執行
netsh interface ip set address "[有線網路名稱]" dhcp
上述指令可製成批次檔
(檔案編碼需為Big5)
問題:
要切換介面顯示語系,但發現工具>選擇語言是針對工程內容,而不是介面顯示。
解法:
1. 關閉GX Works2。
2. 開啟登錄編輯程式,路徑:
HKEY_CURRENT_USER\Software\MITSUBISHI\SWnDN-GPPW2\App\CodePage
編輯 DWORD (32-位元) 值
底數選十進位(D)
數值資料輸入如下:
數值資料內容說明:
1252 西歐拉丁字母ISO-8859-1
950 繁體中文(大五碼)
936 簡體中文(GBK)
932 日文(Shift_JIS)
3. 重新啟動GX Works2即可。
版本:
VS2022 v17.13.3
SQLite-net v1.9.172
1. 使用新增Windows Forms App (.NET Framework)專案。
2. 安裝Nuget套件SQLite-net NuGet\Install-Package sqlite-net-pcl -Version [最新版]
3. 建立SQLite連線時顯示錯誤訊息:Library e_sqlite3找不到
解法:
1. 降版SQLitePCLRaw.lib.e_sqlite3至v2.0.7
參考來源:【茶包射手日記】.NET Framework 專案 SQLite 執行錯誤:找不到 e_sqlite3
2. 遷移package.config到PackageReference
因為VS2022建立的Windows Forms App (.NET Framework)專案,
預設使用package.config管理Nuget套件,
但SQLite-net相依的SQLitePCLRaw NuGet套件在v2.1.0後需要使用PackageReference管理。
參考來源:Exception after updating from 2.0.8 to 2.1.0
參考來源:從 package.config 移轉到 PackageReference
1. 在Windows 功能勾選.NET Framework 3.5 (包括.NET 2.0和3.0)
2. 在安裝進度完成後卻顯示Windows 無法完成要求的變更(錯誤碼: 0x80240021)
3. 先勾選SMB 1.0/CIFS 檔案共用支援>確定>安裝完成(可先不重開機)。
4. 再勾選.NET Framework 3.5 (包括.NET 2.0和3.0)>確定>安裝完成(要重開機)。
5. 即可安裝相依.NET Framework 3.5的軟體。
6. 再取消勾選SMB 1.0/CIFS 檔案共用支援即可。
在舊電腦的準備工作
winget export --output [存放路徑]\[已安裝程式清單JSON檔]
在新電腦執行匯入
winget import --import-file [存放路徑]\[已安裝程式清單JSON檔]
將已安裝程式的設定檔資料夾重新指向存放路徑
:: 以下是檢查檔案是否為連結的範例
:: 檢查.gitconfig檔案是否為連結
DIR "%USERPROFILE%" | FINDSTR ".gitconfig" | FINDSTR "<SYMLINK>"
:: 如果不是,刪除並建立連結到存放路徑
IF %ERRORLEVEL% EQU 1 (
DEL /Q "%USERPROFILE%\.gitconfig"
MKLINK "%USERPROFILE%\.gitconfig" "[存放路徑]\.gitconfig"
)
:: 以下是檢查目錄是否為連結的範例
:: 檢查.ssh資料夾是否為連結
DIR "%USERPROFILE%" | FINDSTR ".ssh" | FINDSTR "<JUNCTION>"
:: 如果不是,刪除並建立連結到存放路徑
IF %ERRORLEVEL% EQU 1 (
RMDIR /S /Q "%USERPROFILE%\.ssh"
MKLINK /J "%USERPROFILE%\.ssh" "[存放路徑]\.ssh"
)
SCHTASKS /CREATE /TN \%USERNAME%\[工作名稱] /XML "[存放路徑]\[工作XML檔]"
XCOPY /S "[存放路徑]\[開始功能表捷徑資料夾]\*" "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\"
XCOPY /S "[存放路徑]\[啟動捷徑資料夾]\*" "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
FOR /F "delims=" %%A IN ('PowerShell -NoProfile -Command "(Get-ItemProperty HKCU:\Environment).Path"') DO SET UserPath=%%A
SETX Path "%UserPath%";[使用者路徑清單(以分號區隔)]
SET UserPath=
1.首要條件
專案>右鍵>屬性>建置>輸出>進階(D)...>輸出>偵錯訊息(E):>僅限 Pdb
參考來源:.NET 知識高裝檢 - .pdb 檔、編譯最佳化與偵錯
2.執行ProcDump生成記憶體傾印檔案
procdump -accepteula -ma [TargetApp.exe] [D:\target-app_dumps]
-accepteula
:自動接受終端使用者授權協議(EULA),避免在執行時出現提示
-ma
:生成完整的記憶體傾印,包括所有的記憶體內容,提供最詳細的調試資訊
TargetApp.exe
:目標應用程式的名稱,即需要監控的程式
D:\target-app_dumps
:指定記憶體傾印檔案的儲存路徑
執行!sym noisy
執行.sympath+ [Pdb路徑]
執行.reload執行ld*
執行.loadby sos clr
執行.chain
由KeePass改用跨平台的KeePassXC,
發現原本設定的自動輸入{CLEARFIELD}不會清除已有文字存在的欄位內容。
解法:
將{CLEARFIELD}改為^a{DELETE}即可。
參考來源:{CLEARFIELD} not working on Windows 11 either (with SQuirreL)