Sample code for 30+ languages & platforms
Zig

SFTP Debug Log File Path

See more SFTP Examples

Demonstrates how to use the DebugLogFilePath property to get information if a Chilkat method crashes or hangs.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    const sftp = try chilkat.SFtp.init();
    defer sftp.deinit();

    // Insert this code just before the method call that crashes or hangs.
    sftp.setVerboseLogging(true);
    sftp.setDebugLogFilePath("/some/file/path/sftp_debug_log.txt");

    // Make the call that crashes or hangs,
    // for example, if the method is DownloadFileByName:

    const remote_file_path = "...";
    const local_file_path = "...";

    // Note: If the method returns control to your application code, then it did not crash within Chilkat.
    // The DebugLogFilePath property causes all information that would be recorded in the LastErrorText to be emitted to the
    // log file (with immediate file write flushing, i.e. no buffering).  Thus, in a crash situation,
    // the log file will contain information up to the point of the crash.

    sftp.downloadFileByName(remote_file_path, local_file_path) catch {
        std.debug.print("{s}\n", .{try sftp.getLastErrorText(alloc)});
        return;
    };
}