除錯模式file.exits判斷目錄異常
程式碼如下:
public class testfile {
public native RenderCar();
public native RenderSky();
public boolean testPathExit()
{
String str = Environment.getExternalStorageDirectory().getPath();
str = str + “/Android/data/test/”;
String str1 = “/storage/sdcard0/Android/data/test/”;
File file = new File(str);
if (file.exists())
{
return true;
}
return false;
}
public String getDataPath()
{
String str1 = “/storage/sdcard0/Android/data/test/”;
String str = Environment.getExternalStorageDirectory().getPath();
str = str + “/Android/data/test/”;
File file = new File(str);
if (file.exists()) {
return str;
}
return str1;
}
}
說明:該類編寫了一些native函式,呼叫Jni實際的函式實現,在除錯模式下getDataPath函式測試出來的str目錄永遠是不存在的,因為直接return str1,但是testPathExit函式測試的結果卻都是true,說明該目錄存在,並且單步除錯過程中進入到斷點ret = true.
在釋出版本中,列印getDataPath返回的字串,目錄確實是存在的,返回結果是/storage/emulate/0/Android/data/test,說明確實返回return str,目前尚未有任何合理的解釋
相關文章
- 異常監控和判斷
- Linux程式開發中如何判斷目錄是否為根目錄?Linux
- #Java教程:File類:檔案、目錄的建立、刪除、判斷、getXXX、canXXX @FDDLCJava
- 斷點除錯 debug模式 1006斷點除錯模式
- java字串、異常小練習--判斷qq是否合法Java字串
- Python中怎麼判斷路徑是否為目錄?Python
- 異常篇——異常記錄
- 使用 sentry 除錯應用和監控異常除錯
- Python異常處理機制、除錯、測試Python除錯
- 異常和中斷
- AS斷點除錯斷點除錯
- golang map的判斷,刪除Golang
- 輸出空目錄(無法用length長度為0判斷)
- nodejs獲取檔案資訊,判斷是檔案或目錄NodeJS
- Vscode斷點除錯VSCode斷點除錯
- webstorm 斷點除錯WebORM斷點除錯
- Sanic 除錯模式除錯模式
- 硬中斷,軟中斷,訊號,異常
- 反除錯:異常情況除錯
- 除錯——條件斷點除錯斷點
- vscode除錯使用斷點VSCode除錯斷點
- phpstorm + xdebug 斷點除錯PHPORM斷點除錯
- Pycharm的斷點除錯PyCharm斷點除錯
- CoreDNS解析異常記錄DNS
- python錯誤與異常Python
- PHP錯誤和異常PHP
- Java-異常、斷言和日誌Java
- Blazor專案在VisualStudio除錯時配置執行基礎目錄Blazor除錯
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- 【前端除錯】- 斷點除錯的正確開啟方式前端除錯斷點
- 【IDEA】2020 斷點(BreakPoints)除錯Idea斷點除錯
- Windows PHPstorm xdebug 斷點除錯WindowsPHPORM斷點除錯
- sCrypt 合約開發除錯技巧: 定位及解決 checkSig / checkPreimage 異常除錯
- jvm常問問題目錄JVM
- 記錄Javascript 異常捕獲JavaScript
- Flutter之異常和錯誤Flutter
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 第50問:從連線判斷應用訪問資料庫的異常行為資料庫