Executable

無法啟動 vscode 執行檔

  • May 6, 2015

我下載並解壓了 VSCode zip。我看到了Code二進製文件,但在我的文件管理器中點兩下它什麼也沒做。./Code我也在控制台中嘗試過,但我只得到bash: ./Code: cannot execute binary file. 只需鍵入程式碼就可以了bash: Code: command not found。我的猜測是這可能是一個依賴問題,但我什至不知道從哪裡開始。

我試圖 chmod 777 文件和文件夾,但沒有運氣。

unname -a:Linux crunchbang 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux

執行 strace 會產生:

$ strace ./Code
execve("./Code", ["./Code"], [/* 25 vars */]) = -1 ENOEXEC (Exec format error)
dup(2)                                  = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76ec000
_llseek(3, 0, 0xbf9d8a88, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
close(3)                                = 0
munmap(0xb76ec000, 4096)                = 0
exit_group(1)                           = ?

執行文件產生

$ file Code
Code: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x7a776e173e68b15269ebd273dd987b526f5ebcae, stripped

我根據另一個問答找到了解決方案;

因此,基於file程式碼是 64 位執行檔並且基於 uname 我的系統顯然是 32 位,這與我的想法不同。

引用自:https://unix.stackexchange.com/questions/201852