除錯模式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字串、異常小練習--判斷qq是否合法Java字串
- 【PHP Whoops】錯誤&異常 診斷元件PHPOOP元件
- Python中怎麼判斷路徑是否為目錄?Python
- 異常機制與遮蔽除錯程式碼除錯
- Linux - 判斷檔案/目錄是否存在/具有許可權Linux
- 異常和中斷
- jboss+mysql報異常,老是除錯不好,求救!MySql除錯
- Mybatis單個引數的if判斷(針對異常:There is no getter for property..)MyBatis
- Oracle的home目錄空間佔用異常處理Oracle
- nodejs獲取檔案資訊,判斷是檔案或目錄NodeJS
- shell判斷檔案,目錄是否存在或者具有許可權【轉】
- #Java教程:File類:檔案、目錄的建立、刪除、判斷、getXXX、canXXX @FDDLCJava
- golang map的判斷,刪除Golang
- 使用 sentry 除錯應用和監控異常除錯
- Python異常處理機制、除錯、測試Python除錯
- 除錯技巧 —— 如何利用windbg + dump + map分析程式異常除錯
- 讓delphi在除錯時不監視指定異常除錯
- 斷點除錯 debug模式 1006斷點除錯模式
- ORACLE RMAN異機異目錄恢復Oracle
- C# 呼叫目標異常C#
- webstorm 斷點除錯WebORM斷點除錯
- mac 刪除 .svn 目錄Mac
- linux刪除目錄Linux
- MT6735平臺GPIO中斷除錯記錄除錯
- CoreDNS解析異常記錄DNS
- WCF除錯異常資訊:ServiceHost 僅支援類服務型別除錯型別
- 刪除目錄及目錄下所有檔案與子目錄 (轉)
- 異常處理反模式模式
- Sanic 除錯模式除錯模式
- 反除錯:異常情況除錯
- PHP錯誤和異常PHP
- Java-異常、斷言和日誌Java
- Oracle JOB異常中斷原因分析Oracle
- Pycharm的斷點除錯PyCharm斷點除錯
- js斷點除錯心得JS斷點除錯
- fs模組之刪除目錄
- jvm常問問題目錄JVM