user91116: I'm studying P2SH-P2WPKH and when I create the signed transaction I can see this stack (using btcdeb)
script                                   |                                                             stack 
-----------------------------------------+-------------------------------------------------------------------
OP_DUP                                   | Public Key
OP_HASH160                               | Signature
3ecfc6b4....a49                          | 
OP_EQUALVERIFY                           | 
OP_CHECKSIG                              | 

The question is
Where and When I push OP_DUP e OP_CHECKSIG?
I don't find anything inside Bitcoin code in GitHub, maybe during signrawtransactionwithkey?
I understand that the stack contains the
OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG

like P2PKH, but I don't understand why are inside the stack.
It's my UTXO and I don't find 1a83d46422201593cb8f42f44a22a29e86ad652f inside my stack.
{
  "asm": "OP_HASH160 1a83d46422201593cb8f42f44a22a29e86ad652f OP_EQUAL",
  "hex": "a9141a83d46422201593cb8f42f44a22a29e86ad652f87",
  "reqSigs": 1,
  "type": "scripthash",
  "addresses": [
    "2MufRUxRcGnwbdL4PWKzKb7uSFzBT1wQL7u"
  ]
}

UPDATE
I don't find the code inside Github, but maybe thanks to the witness program (<0 <20-byte-key-hash>>) the software is triggered and create the stack with P2PKH. For the older node is ANYONE_CAN_SPEND, for newer node check if hash160 (pubkey) == pubkeyhash and then check the signature. 
In that case When the UTXO is involve only for TXID and Amount, not for validation (scriptPubKey) like P2SH and P2PKH.

user208: 
The question is Where and When I push OP_DUP e OP_CHECKSIG?

You don't. Neither the transaction creating the output or the transaction spending it explicitly contain these instructions.
When verifying a P2WPKH spend (which means either the scriptPubKey or the P2SH redeemScript is exactly OP_0 <20-byte hash>), special logic is triggered which verifies the witness stack against the script OP_DUP OP_HASH160 <20-byte-hash> OP_EQUALVERIFY OP_CHECKSIG.
See the examples in BIP 141 for more information.

91116: <p>I'm studying P2SH-P2WPKH and when I create the signed transaction I can see this stack (using <a href="https://github.com/kallewoof/btcdeb" rel="nofollow noreferrer">btcdeb</a>)</p>

<pre><code>script                                   |                                                             stack 
-----------------------------------------+-------------------------------------------------------------------
OP_DUP                                   | Public Key
OP_HASH160                               | Signature
3ecfc6b4....a49                          | 
OP_EQUALVERIFY                           | 
OP_CHECKSIG                              | 
</code></pre>

<p>The question is
Where and When I push OP_DUP e OP_CHECKSIG?
I don't find anything inside Bitcoin code in GitHub, maybe during <code>signrawtransactionwithkey</code>?</p>

<p>I understand that the stack contains the</p>

<pre><code>OP_DUP OP_HASH160 &lt;PubKHash&gt; OP_EQUALVERIFY OP_CHECKSIG
</code></pre>

<p>like P2PKH, but I don't understand why are inside the stack.</p>

<p>It's my UTXO and I don't find <code>1a83d46422201593cb8f42f44a22a29e86ad652f</code> inside my stack.</p>

<pre><code>{
  "asm": "OP_HASH160 1a83d46422201593cb8f42f44a22a29e86ad652f OP_EQUAL",
  "hex": "a9141a83d46422201593cb8f42f44a22a29e86ad652f87",
  "reqSigs": 1,
  "type": "scripthash",
  "addresses": [
    "2MufRUxRcGnwbdL4PWKzKb7uSFzBT1wQL7u"
  ]
}
</code></pre>

<p><strong>UPDATE</strong>
I don't find the code inside Github, but maybe thanks to the <a href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wpkh-nested-in-bip16-p2sh" rel="nofollow noreferrer">witness program</a> (&lt;0 &lt;20-byte-key-hash>>) the software is triggered and create the stack with P2PKH. For the older node is <code>ANYONE_CAN_SPEND</code>, for newer node check if <code>hash160 (pubkey) == pubkeyhash</code> and then check the signature. </p>

<p>In that case When the UTXO is involve only for TXID and Amount, not for validation (scriptPubKey) like P2SH and P2PKH.</p>
 208: <blockquote>
  <p>The question is Where and When I push OP_DUP e OP_CHECKSIG?</p>
</blockquote>

<p>You don't. Neither the transaction creating the output or the transaction spending it explicitly contain these instructions.</p>

<p>When verifying a P2WPKH spend (which means either the scriptPubKey or the P2SH redeemScript is exactly <code>OP_0 &lt;20-byte hash&gt;</code>), special logic is triggered which verifies the witness stack against the script <code>OP_DUP OP_HASH160 &lt;20-byte-hash&gt; OP_EQUALVERIFY OP_CHECKSIG</code>.</p>

<p>See the examples in <a href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki" rel="nofollow noreferrer">BIP 141</a> for more information.</p>
