การตรวจสอบกระบวนการล้มเหลวในการเริ่มบนคอมพิวเตอร์ 64 บิต


23

เมื่อฉันพยายามเริ่มการตรวจสอบกระบวนการจาก SysInternals บนเครื่อง 64 บิต windows 7 บางกระบวนการล้มเหลวในการเริ่มต้น ไม่มีข้อความแสดงข้อผิดพลาด ฉันคลิกสองครั้งและไม่มีอะไรเกิดขึ้น คอมพิวเตอร์ 64 บิต Windows 7 อื่น ๆ ทำงานได้ดี ความคิดใด ๆ


ในมีปัญหาเดียวกันและผมสามารถเรียกใช้กระบวนการตรวจสอบในโหมด 32bit procmon.exe /Run32กับตัวเลือกบรรทัดคำสั่ง อย่างไรก็ตามมันไม่รองรับการถ่ายภาพในโหมดนี้
jirkamat

@jirkamat ไม่ทำงานที่นี่ :(
Zero3

คำตอบ:


33

นี่คือสิ่งที่ฉันพบ Procmon.exe 32 บิตมี exe 64 บิตอยู่ข้างในเป็นทรัพยากรไบนารี เมื่อ exe 32 บิตเริ่มทำงานมันจะทำการแยกเวอร์ชัน 64 บิตออกเป็นไฟล์ที่ซ่อนอยู่ซึ่งเรียกว่า Procmon64.exe จากนั้นเรียกใช้งาน ด้วยเหตุผลบางอย่างกระบวนการนี้ล้มเหลวในการติดตั้ง Windows 7 บางตัว

ฉันจัดการเพื่อแยก exe 64 บิตโดยใช้ Visual Studio 2010

  1. เปิด Visual Studio และเปิดไฟล์ Procmon.exe โดยใช้เมนู File-> Open-> File ...
  2. ในแผนผังทรัพยากรขยายโหนด "BINRES"
  3. คลิกขวาที่โหนด 1308 และเลือกส่งออก ...
  4. ตั้งชื่อทรัพยากรที่ส่งออก Procmon-64.exe และบันทึก
  5. เรียกใช้ exe ที่แยกออกมา

อย่าตั้งชื่อ exe Procmon64.exe ที่แยก (ไม่มียัติภังค์) เพราะ Procmon 32 บิตจะพยายามลบหากได้รับโอกาส

หากคุณไม่มี Visual Studio ให้ใช้ตัวแยกทรัพยากรที่ปฏิบัติการได้ของ windows เช่น ResourcesExtract - http://www.nirsoft.net/utils/resources_extract.html


2
เป็นเรื่องที่น่าสนใจที่คุณพบวิธีแก้ไข แต่ฉันจะสนใจมากขึ้นว่าทำไมคุณถึงต้องทำเช่นนั้น
Zoredache

ฉันต้องการค้นหาสาเหตุที่แท้จริงด้วยเช่นกัน แต่การดีบั๊กกระบวนการดั้งเดิมโดยไม่มีสัญลักษณ์ก็ไม่คุ้มค่ากับความพยายาม โดยเฉพาะอย่างยิ่งหนึ่งรวมกับ OS เป็นการตรวจสอบกระบวนการ
Ryan Michela

แยก 64 บิต exe ของ ProcMon ไปยัง EXE แบบสแตนด์อโลนและเรียกใช้ exe นี้แก้ปัญหานี้ให้ฉันได้! ProcMon ทำงานได้ดี
jirkamat

4
ครั้งหนึ่งในขณะที่ดับเบิลคลิก Procmon.exe ซ้ำ ๆ อย่างหงุดหงิดฉันก็เห็นแฟลช Procmon64.exe ที่ซ่อนอยู่ใน Windows Explorer นี่ทำให้ฉันรู้ว่ารุ่น 64 บิตถูกแยกโดยรุ่น 32 บิต การติดตามลางสังหรณ์นี้ทำให้ฉันแตกเปิด exe 32 บิตเพื่อตรวจสอบทรัพยากรของมันและฉันพบว่าหนึ่งคำสั่งที่มีขนาดใหญ่กว่าที่อื่น ๆ ฉันแยกทรัพยากรและบันทึกเป็น. exe แท้จริงแล้วมันเป็น 64 บิตการตรวจสอบกระบวนการที่ขาดหายไป
Ryan Michela

1
เนื่องจากฉันมีปัญหากับโปรแกรมของ Sysinternal จำนวนมากโดยเฉพาะทุกโปรแกรมที่แยกรุ่น 64 บิต (เกิดขึ้นเมื่อเร็ว ๆ นี้ไม่สามารถเรียกใช้งานได้เพราะมันบอกว่าไดเรกทอรีนั้นไม่สามารถเขียนได้) แต่ หากคุณเรียกใช้ตัวแยกทรัพยากรและคลิก 'สินทรัพย์ไบนารี' หรืออะไรก็ตามในแอปพลิเคชันใด ๆ ของ sysinternal คุณสามารถเรียงลำดับตามขนาดได้และที่ใหญ่ที่สุดก็คือแอป เพียงแค่เปลี่ยนชื่อเป็น exe แล้วคุณก็ไป ~
mgrandi

5

ให้ฉันพัดใจของคุณ. procmon.exe ต้องใช้บริการเวิร์กสเตชันเพื่อเริ่มทำงาน มันใช้มันเพื่อแจกแจงบางสิ่งบางอย่างและจะเงียบ ๆ ไปโดยไม่มีมัน

นี่ไม่ใช่เอกสารที่ทุกที่และเป็นการปลอมสวย


1
ใช่ นี่มัน! คำตอบนี้ต้องไปด้านบน
ตัวเอง

ใช่นั่นทำเพื่อฉัน เวอร์ชัน 3.10 ไม่ต้องการ แต่เวอร์ชัน 3.20 จะใช้งานได้ คุณประสบความสำเร็จ ใจเป่า การพูดว่า "เป็นการหลอกลวง" เป็นการพูดที่ยิ่งใหญ่ ฉันไม่ต้องการเรียกใช้บริการดังกล่าวดังนั้นฉันจึงผิดหวังอย่างมากกับ Mark
Synetech

2

ฉันรู้ว่าหัวข้อนี้ได้รับในขณะที่ แต่ฉันเพิ่งเห็นปัญหานี้เมื่อเร็ว ๆ นี้และฉันสังเกตเห็นอีกปัจจัยที่อาจเป็นประโยชน์ สิทธิ์ผู้ดูแลระบบ หากฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบและทำงานได้ดี หากล็อกอินเป็นผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบและรันมันปัญหาจะเกิดขึ้นและ procmon-64 ที่แยกออกมาแสดงปัญหาเดียวกัน


2

ฉันประสบความสำเร็จในการแยก ProcMon64.exe ด้วยสคริปต์ Perl ถัดไปที่วางและดำเนินการในโฟลเดอร์ temp

use File::Copy;

if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{  for($i=1;$i<1000;$i++)
    {if(-e 'ProcMon64.exe')
      { copy('ProcMon64.exe',$i.'.exe')}
    }
}

หลังจากการเอ็กซีคิวต์แบบทวีคูณมันจะสร้างหลายสิบ copes ซึ่งทั้งหมดจะเหมือนกัน (CRC32 เดียวกัน)



0

ฉันแก้ไขปัญหานี้โดยการตรวจสอบตัวแปรสภาพแวดล้อมอีกครั้ง คุณสามารถตรวจสอบ%TEMP%เพื่อดูว่าคุณเคยเพิ่มบางสิ่งบางอย่างก่อนหน้านี้หรือไม่ ลบโฟลเดอร์อื่น ๆ ยกเว้นสำหรับ windows temp จากนั้นรีบูต


-2

ฉันใช้ Resource Hacker แยก 1038 เป็น bin เพิ่ม. exe และดูเหมือนว่าจะเริ่มต้น


โปรแกรมจะไม่เปิดในแฮ็กเกอร์ทรัพยากร ....
Amalgovinus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.