Chrono Mock
DilTürkçe

Tek bir uygulamanın saatini hızlandırın

30 günlük bir deneme süresinin dolması 30 gün sürer; zamanı oynatamıyorsanız. Olağan tavsiye, sistem saatini ileri itmektir; bu yönetici hakkı gerektirir ve makinedeki diğer her programı da peşinden sürükler. Bu ise bunun yerine tek bir süreci oynatır.

Ne kadar hızlı

Tam sayı bir çarpan seçin. Uygulamanın saati, oturumun başladığı andan itibaren gerçek saatten o kadar kat hızlı ilerler.

ÇarpanBir gerçek dakika şu olurNe için yararlı
x60bir saatsaatlik işler, oturum zaman aşımları, belirteç ömürleri
x1440bir güngünlük dönüşümler, yarım saatte 30 günlük deneme
x4320030 günlük bir denemebunu okurken denemenin tamamının bitişini izlemek
x525600bir yılyıllık yenilemeler, sertifika süresi dolumu
x1000000yaklaşık 1,9 yılüst sınır
# Şimdiki gerçek zamandan başlayın ve dakikada bir gün hızla çalıştırın
chrono run "C:\apps\test.exe" --mode x1440

# Seçtiğiniz bir tarihte başlayın ve oradan hızlandırın
chrono run "C:\apps\test.exe" --at 2027-12-01T09:00:00 --mode x1440

# Bunun yerine saati tamamen sabit tutun
chrono run "C:\apps\test.exe" --mode frozen
Başka bir Windows uygulamasını yöneten bir oturumun kaydı. Soldaki pencere Chrono Mock; uygulamanın saati 2038-01-19’da gerçek hızın altmış katıyla ilerlerken yanındaki gerçek saat birkaç saniye oynuyor. Sağdaki pencere test edilen uygulama; kendi oturum kaydı, 2038-01-19’da başladığını ve odadaki zamanın yalnızca yarım dakikasına karşılık dakikalardır çalıştığını gösteriyor.
Gerçek bir uygulamayı yöneten gerçek bir oturum. Sağdaki pencereye dikkat edin: test edilen program kendi başlangıcını 19 Ocak 2038 olarak kaydetti ve odadaki saat saniyeler oynarken oturumu dakikalarca sürdü. Hız, hiçbir şey yeniden başlatılmadan çalışırken değiştirilir.

İnsanları yanıltan kısım: iki saat var

Duvar saatini - DateTime.Now ve eşdeğerlerinin döndürdüğü şeyi - hızlandırmak, kendi başına bir geri sayımı hızlandırmaz. Bunlar bir uygulamanın işletim sistemine sorabileceği iki farklı sorudur ve pek çok yazılım “otuz günü” birincisiyle değil ikincisiyle ölçer.

Bu yüzden süre ekseni - tick sayıları, uykular, beklemeler ve zamanlayıcılar - ayrı bir anahtardır:

  • --scale-duration tik sayaçlarını, uyumaları ve zamanlayıcıları da oturum saatine geçirir, nesne beklemeleri ise sayılır ve gerçek sürelerini korur. Bu olmadan x1440 takvimi ileri koştururken beş saniyelik bir zamanlayıcı hâlâ beş gerçek saniye sürer - yalnızca belirli bir tarih ve saate kurulan zamanlayıcı her oturumda oturum saatini izler.
  • --scale-qpc ek olarak yüksek çözünürlüklü sayacı ölçekler. Python 3.13+ monotonic, .NET Stopwatch ve Java nanoTime geçen zamanı burada okur ve varsayılan olarak kapalıdır; çünkü onu ölçeklemek testlerde render’ı kararsızlaştırdı.

Çarpan bir geri sayıma hiçbir şey yapmıyor gibi görünüyorsa, bu neredeyse her zaman bunun nedeniyledir.

# Bir zamanlayıcı uygulaması: takvimi VE geri sayımları hızlandırın
chrono run "C:\apps\Timer.exe" --mode x60 --scale-duration

# Geçen zamanı yüksek çözünürlüklü sayaçla ölçen bir Python ya da .NET uygulaması
chrono run "C:\apps\Job.exe" --mode x60 --scale-duration --scale-qpc

Yeniden başlatmadan hızı değiştirmek

Çarpan oturum ortasında değiştirilebilir ve saat atlatılmak yerine yeniden demirlenir; böylece hız düştüğünde asla geriye gitmez. Saati doğrudan da atlatabilirsiniz - ileri ya da bir dizüstü bilgisayarın zaman sunucusuyla yeniden eşitlendikten sonra yaptığı gibi geri; bu, geçen zamanı korumasız ölçen her şeyi bozan durumdur.

# x60’ta çalıştırın, sonra iki saniye sonra x1440’a geçin
chrono run "C:\apps\test.exe" --mode x60 --set-after 2:1440

# Çalıştırın, sonra beş saniye sonra saati seçtiğiniz bir ana atlatın
chrono run "C:\apps\test.exe" --jump-after 5:2028-01-01T00:00:00

Neyi yapmaz

  • Sistem saatine dokunmaz. Amaç bu, bir sınırlama değil - ama zamanı bir sunucudan, bir veritabanından ya da başka bir makineden okuyan her şeyin etkilenmediği anlamına gelir ve denetim bu olduğunda size söyler.
  • Bir atlama uygulamanın ne gördüğünü değiştirir, ne zaman uyandığını değil. Çekirdeğe zaten verilmiş uyumalar ve zamanlayıcılar kurulurken aldıkları süreyi korur. Çoğu uygulama saati yoklar, bu yüzden atlamalar pratikte çalışır - ama hepsinde değil.
  • Zamanı yavaşlatmaz. Çarpanlar bir ve üzeri tam sayılardır, artı sıfırda dondurulmuş bir saat.

Bunların herhangi birinin uygulamanıza ulaşıp ulaşmadığı varsayılacak bir şey değildir. Oturum bunu söyler →

Deneyin